找到 519 篇文章 关于 Selenium

如何在 Selenium Webdriver 中获取工具提示文本?

Debomita Bhattacharjee
更新于 2021年4月3日 10:49:31

5K+ 阅读量

我们可以借助 getAttribute 方法在 Selenium webdriver 中获取工具提示文本。应将属性 title 作为参数传递给此方法。此技术仅适用于元素具有 title 属性的情况。工具提示文本是在将鼠标悬停在元素上时显示的文本。在下面的 html 代码中,具有工具提示的元素具有 title 属性,而为 title 设置的值实际上是工具提示文本。下图显示了 Coding Ground 菜单,显示工具提示文本为 - Coding Ground - 免费在线 IDE 和终端。语法WebElement ... 阅读更多

验证元素在 Selenium Webdriver 中是否存在或可见

Debomita Bhattacharjee
更新于 2023年9月12日 01:07:53

38K+ 阅读量

我们可以使用 Selenium webdriver 验证页面中是否存在或可见元素。要检查元素的存在,我们可以使用 findElements 方法。findElements 方法返回匹配元素的列表。然后,我们必须使用 size 方法获取列表中的项目数。如果大小为 0,则表示此元素不存在于页面中。语法int j = driver.findElements(By.id("txt")).size();要检查页面中元素的可见性,可以使用 isDisplayed() 方法。它返回一个布尔值(如果元素可见,则返回 true,... 阅读更多

如何在 Selenium 中使用 JavaScript 在网页中查找元素?

Debomita Bhattacharjee
更新于 2021年4月3日 10:35:18

2K+ 阅读量

我们可以借助 JavaScript 在网页中查找元素。我们还可以验证浏览器控制台中 JavaScript 方法返回的元素(按 F12)。查找元素的 JavaScript 方法如下:getElementsByTagname获取具有作为参数传递给方法的匹配标签名的元素集合。如果没有匹配的元素,则返回空集合。语法document.getElementsByTagName("") 要获取第一个匹配的元素,document.getElementsByTagName("")[0]getElementsByName获取具有作为参数传递给方法的匹配 name 属性值的元素集合。如果没有匹配的元素,则返回空集合。语法document.getElementsByName("") 要 ... 阅读更多

如何在 Selenium 中使用 linkText 点击超链接?

Debomita Bhattacharjee
更新于 2021年4月3日 10:34:42

10K+ 阅读量

页面上的超链接由锚标记标识。要点击链接,我们可以使用 link text 定位器,它匹配锚标记中包含的文本。我们还可以使用 partial link text 定位器,它部分匹配锚标记中包含的文本。如果这两个定位器都找不到匹配的元素,则会抛出 NoSuchElementException 异常。语法WebElement t =driver.findElement(By.partialLinkText("Refund")); WebElement m =driver.findElement(By.linkText("Refund Policy"));让我们尝试在以下页面上点击 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{   ... 阅读更多

如何使用 Selenium Webdriver 获取文本框中的输入文本?

Debomita Bhattacharjee
更新于 2021年4月3日 10:34:18

3K+ 阅读量

我们可以使用 Selenium webdriver 获取文本框中的输入文本。首先,我们必须使用 sendKeys 方法在文本框中输入文本(在使用任何定位器标识后)。然后应用 getAttribute 方法以获取在该字段中输入的文本,并将参数值传递给该方法。让我们尝试获取在 Google 搜索框中输入的值:语法WebElement m = driver.findElement(By.name("q")); String st = m.getAttribute("value");示例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 GetTextTyped{    public static void main(String[] args) {       ... 阅读更多

如何在 Selenium 中获取 span 标签之间的文本

Debomita Bhattacharjee
更新于 2021年4月3日 10:33:55

3K+ 阅读量

我们可以使用 Selenium webdriver 获取 span 标签中的文本。可以使用 getText 方法捕获 Web 元素的文本。让我们看一个元素的示例,该元素在 span 标签中包含文本 - © Copyright 2021. All Rights Reserved。语法WebElement l = driver.findElement(By.xpath("//p/span")); String s = l.getText();示例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 SpanText{    public static void main(String[] args) {       System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");       WebDriver driver = new FirefoxDriver();       //隐式等待       driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);       ... 阅读更多

如何在 Selenium WebDriver 代码中指定“ENTER”按钮功能?

Debomita Bhattacharjee
更新于 2021年4月3日 10:26:42

3K+ 阅读量

要在 Selenium webdriver 中指定 ENTER 按钮功能,我们必须使用 sendKeys 方法。要模拟按下 ENTER 按钮,我们必须将语句 import org.openqa.selenium.Keys 添加到我们的代码中。然后将参数 - Keys.RETURN 或 Keys.ENTER 传递给 sendKeys 方法。让我们尝试在 Google 搜索输入框中输入一些文本后按下 ENTER 按钮:示例使用 Keys.ENTER 的代码实现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.Keys; public class EnterOperation{    public static void main(String[] args) {       System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");       WebDriver driver = new FirefoxDriver(); ... 阅读更多

如何在 Selenium 中打印具有相同类名的所有 Web 元素的文本?

Debomita Bhattacharjee
更新于 2021年4月3日 10:20:38

5K+ 阅读量

我们可以使用 Selenium webdriver 获取具有相同类名的所有 Web 元素的文本。我们可以使用任何定位器,例如使用 By.className 方法的类名、使用 By.xpath 方法的 xpath 或使用 By.cssSelector 方法的 css。让我们验证 xpath 表达式 //h2[@class='store-name'],它表示具有与 store-name 相同类名的多个元素。如果我们在控制台中使用表达式 - $x("//h2[@class='store-name']") 验证此表达式,它将生成所有匹配的元素,如下所示:此外,由于我们需要获取多个元素,因此我们必须使用 findElements 方法,该方法返回一个列表。我们 ... 阅读更多

Gecko 驱动程序,使用 Selenium 从下拉列表中选择值

Debomita Bhattacharjee
更新于 2021年4月3日 10:19:27

411 阅读量

我们可以借助 geckodriver.exe 可执行文件在 Firefox(版本 > 47)中使用 Selenium webdriver 脚本。首先,我们必须从以下链接下载此文件:https://github.com/mozilla/geckodriver/releases一旦我们导航到提到的 URL,我们必须根据我们当前使用的操作系统(Windows、Linux 或 Mac)点击链接。下载完成后,将创建一个 zip 文件。我们必须解压缩 zip 文件并将 geckodriver.exe 文件存储在所需的位置。然后,我们必须使用 System.setProperty 方法配置 geckodriver.exe 文件的路径,以及创建对象 ... 阅读更多

如何在 Selenium 中解决元素不可交互异常?

Debomita Bhattacharjee
更新于 2023年10月22日 13:04:10

24K+ 阅读量

我们可以使用 Selenium webdriver 解决异常 - ElementNotInteractableException。如果 Web 元素存在于 DOM 中但无法访问,则会引发此异常。下图显示了此类异常的示例。如果特定 Web 元素被另一个 Web 元素覆盖,我们通常会遇到此异常。要解决此问题,我们可以应用显式等待,以便 webdriver 等待预期条件 - invisibilityOfElementLocated 覆盖 Web 元素。或者,我们可以对要交互的 Web 元素应用预期条件 - elementToBeClickable。要解决永久覆盖,我们必须使用 JavaScript 执行器 ... 阅读更多

广告