找到 720 篇文章 关于测试工具
3K+ 次浏览
我们可以借助 Alert 接口在 Selenium webdriver 中捕获警报消息中的文本。默认情况下,webdriver 对象控制主页面,一旦生成警报弹出窗口,我们就必须将 webdriver 的焦点从主页面切换到警报。这可以通过 switchTo().alert() 方法来实现。一旦驱动程序焦点切换,我们就可以借助 switchTo().alert().getText() 方法获取弹出窗口的文本。最后,我们将使用 accept 方法接受警报,并使用 dismiss 方法将其关闭。让我们举个例子... 阅读更多
18K+ 次浏览
我们可以借助 JavaScript 执行器在文本框中输入文本,而无需使用 sendKeys 方法。Selenium 使用 executeScript 方法执行 JavaScript 命令。要运行的 JavaScript 命令作为参数传递给该方法。要输入文本,我们首先要使用 JavaScript 方法 document.getElementById 识别输入框。然后,我们必须在其上应用 value 方法。让我们在下面的输入框中输入文本 Selenium - 语法 JavascriptExecutor j = (JavascriptExecutor)driver; j.executeScript ("document.getElementById('gsc-i-id1').value='Selenium'"); 示例 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; import org.openqa.selenium.JavascriptExecutor; public class JsEnterText{ public static void main(String[] ... 阅读更多
7K+ 次浏览
我们可以使用 Python 中 Selenium webdriver 中的 options 方法获取下拉列表的所有选项。它返回下拉列表中选项的列表。然后,我们必须使用 text 方法获取选项文本。下拉列表由 select 标签表示,其可用选项由标签名 option 表示。要处理 Selenium 中的下拉列表,我们必须借助 Select 类。让我们看看下拉列表及其选项的 html 代码 - 按主题和按名称。语法 l = driver.find_element_by_name("selType") d = Select(l) for opt in d.options -m = opt.text 示例 from selenium import ... 阅读更多
3K+ 次浏览
我们可以使用 Python 中 Selenium webdriver 中的 click 方法点击图像。首先,我们必须借助任何定位器(如 id、class、name、css、xpath 等)识别图像。html 代码中的图像由 img 标签名表示。让我们看看图像元素的 html 代码。示例 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; public class ImageClk{ public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe"); WebDriver driver = new FirefoxDriver(); //隐式等待 ... 阅读更多
12K+ 次浏览
我们可以使用 Selenium webdriver 中的定位器(name、css 或 xpath)使用 name 属性查找元素。要使用 css 识别元素,表达式应为 tagname[name='value'],要使用的方法为 By.cssSelector。要使用 xpath 识别元素,表达式应为 //tagname[@name='value']。然后,我们必须使用 By.xpath 方法来定位它。要使用 name 定位器定位元素,我们必须使用 By.name 方法。让我们看看具有 name 属性的元素的 html 代码 - 语法 WebElement e = driver. findElement(By.name("q")); WebElement m = driver. findElement(By.xpath("//input[@name = 'q']")); WebElement ... 阅读更多
18K+ 次浏览
我们可以使用 Selenium webdriver 中的定位器(id、css 或 xpath)使用 id 属性查找元素。要使用 css 识别元素,表达式应为 tagname[id='value'],要使用的方法为 By.cssSelector。要使用 xpath 识别元素,表达式应为 //tagname[@id='value']。然后,我们必须使用 By.xpath 方法来定位它。要使用 id 定位器定位元素,我们必须使用 By.id 方法。让我们看看具有 id 属性的元素的 html 代码 - 语法 WebElement e = driver. findElement(By.id("session_key")); WebElement m = driver. findElement(By.xpath("//input[@id=' session_key']")); WebElement n = ... 阅读更多
5K+ 次浏览
我们可以借助 getAttribute 方法在 Selenium webdriver 中获取工具提示文本。应将属性 title 作为参数传递给此方法。此技术仅适用于元素具有 title 属性的情况。工具提示文本是在将鼠标悬停在元素上时显示的文本。在下面的 html 代码中,具有工具提示的元素具有 title 属性,并且为 title 设置的值实际上是工具提示文本。下图显示了菜单 Coding Ground 显示工具提示文本 - Coding Ground - 免费在线 IDE 和终端。语法 WebElement ... 阅读更多
38K+ 次浏览
我们可以使用 Selenium webdriver 验证页面中是否存在或可见元素。要检查元素是否存在,我们可以使用 findElements 方法。findElements 方法返回匹配元素的列表。然后,我们必须使用 size 方法获取列表中项目的数量。如果大小为 0,则表示此元素不存在于页面中。语法 int j = driver.findElements(By.id("txt")).size(); 要检查页面中元素的可见性,请使用 isDisplayed() 方法。它返回一个布尔值(如果元素可见则返回 true,... 阅读更多
2K+ 次浏览
我们可以借助 JavaScript 查找网页中的元素。我们还可以验证浏览器控制台中 JavaScript 方法返回的元素(按 F12)。用于查找元素的 JavaScript 方法 - getElementsByTagname 获取具有作为参数传递给方法的匹配标签名的元素集合。如果没有匹配的元素,则返回一个空集合。语法 document.getElementsByTagName("") 要获取第一个匹配元素,document.getElementsByTagName("")[0] getElementsByName 获取具有作为参数传递给方法的 name 属性匹配值的元素集合。如果没有匹配的元素,则返回一个空集合。语法 document.getElementsByName("") 要 ... 阅读更多
10K+ 次浏览
页面上的超链接由锚点标签标识。要点击链接,我们可以使用链接文本定位器,它匹配锚点标签中包含的文本。我们还可以使用部分链接文本定位器,它部分匹配锚点标签中包含的文本。如果这两个定位器都找不到匹配的元素,则会抛出 NoSuchElementException 异常。语法WebElement t =driver.findElement(By.partialLinkText("Refund")); WebElement m =driver.findElement(By.linkText("Refund Policy"));让我们尝试在以下页面上点击“退款政策”链接 -示例代码实现(使用 linkText)import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; public class LnkClick{ ... 阅读更多