- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 UI 测试期间遇到以下错误。
org.openqa.selenium.WebDriverException: Element not found or not visible for xpath: (//div[@class='popupContent'])[last()]/div/div/div/div/div[2]/div/table/tbody Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:24:21.231Z' System info: host: 'x', ip: '172.25.x.x', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_60' Driver info: driver.version: unknown
谁能告诉我是什么原因导致了这个错误?
谢谢
最佳答案
此错误消息...
org.openqa.selenium.WebDriverException: Element not found or not visible for xpath: (//div[@class='popupContent'])[last()]/div/div/div/div/div[2]/div/table/tbody
...意味着 WebDriver 实例无法根据您使用的定位器策略找到任何元素。
<小时/>错误元素未找到或不可见的原因可能是以下任一原因:
<iframe>
内标签。解决NoSuchElementException的解决方案可以是以下任一:
采用Locator Strategy它唯一标识所需的WebElement。您可以借助开发人员工具(Ctrl+Shift+I 或 F12)并使用元素检查器。
在这里您可以找到关于 how to inspect element in selenium3.6 as firebug is not an option any more for FF 56? 的详细讨论
使用 executeScript()
滚动元素查看的方法如下:
WebElement elem = driver.findElement(By.xpath("element_xpath"));
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", elem);
在这里您可以找到关于 Scrolling to top of the page in Python using Selenium 的详细讨论
如果元素具有属性style="display: none;",请通过 executeScript()
删除该属性方法如下:
WebElement element = driver.findElement(By.xpath("element_xpath"));
((JavascriptExecutor)driver).executeScript("arguments[0].removeAttribute('style')", element)
element.sendKeys("text_to_send");
检查元素是否在 <iframe>
内向上遍历 HTML 以找到相应的 <iframe>
标签和switchTo()
通过以下任一方法获取所需的iframe:
driver.switchTo().frame("frame_name");
driver.switchTo().frame("frame_id");
driver.switchTo().frame(1); // 1 represents frame index
在这里您可以找到关于 Is it possible to switch to an element in a frame without using driver.switchTo().frame(“frameName”) in Selenium Webdriver Java? 的详细讨论.
如果该元素未立即在 HTML DOM 中存在/可见,则引发 WebDriverWait与 ExpectedConditions设置为正确的方法如下:
new WebDriverWait(driver, 20).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[@class='buttonStyle']//input[@id='originTextField']")));
等待visibilityOfElementLocated :
new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='buttonStyle']//input[@id='originTextField']")));
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='buttonStyle']//input[@id='originTextField']")));
除了上述原因/解决方案之外,您的主要问题之一是您正在使用的二进制文件版本之间不兼容,如下所示:
因此,您使用的 JDK v8u60 和 Selenium Client v3.13.0 之间存在明显的不匹配。
@Test
.关于java - org.openqa.selenium.WebDriverException 错误的根本原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51979073/
我想在远程 Ubuntu 服务器上的 Chrome 上运行我的 WebDriver 测试用例。我已经在该服务器上安装了最新的 Chrome,但是当我使用这个时,我遇到了这些错误: System.set
我正在尝试将 OperaDriver 用于 selenium。 IWebDriver wd = new OperaDriver(); 但使用 OpenQA.Selenium.Opera;不存在。我在
我尝试在 selenium webdriver 中使用带注释 By 的页面对象进行自动化测试,但 Eclipse 显示以下消息错误: java.lang.ClassCastException: org
我正在尝试使用页面对象模型自动化 selenium Web 驱动程序中的单选按钮。下面是我的代码解释: By AutomaticDataLockTimed = By.xpath("//span[@cl
我正在尝试通过 Maven 运行我的用户接受测试用例 (JBehave),但收到此错误: Error:(10, 8) java: cannot access org.openqa.selenium.H
我正在使用 Spring Boot 2 和 Appium 从头开始创建一个新的测试框架。为了编写测试,我使用了 JUnit,它已经包含在 Spring Boot 的 spring-boot-sta
我有同样的 issue作为这篇文章的链接,我目前正在重新阅读 Selenium HQ 文档,重点是设置 PATH 环境。这是我要运行的代码。 using System; using OpenQA.Se
我正在使用: 火狐 56.0.1 Selenium 3.6.0 Windows 10 家庭版 壁虎驱动程序 0.19.0 错误信息是 The package org.openqa.selenium i
我正在尝试使用我正在使用的 Selenium 进行黑盒测试: Mac 操作系统:版本:10.9.4 java.版本:1.6.0_65 浏览器:firefox 版本 32.0.3 Selenium :版
public class Admin { public static void main(String args[]) throws MalformedURLException
我正在尝试使用 xsl 表导入登录凭据,例如:用户名 和 密码,使用下面的代码,但在运行时出现 NoSuchElementException 异常, 我的 xsl 表看起来像: username
System.setProperty(“webdriver.ie.driver”,“D:\Selenium\jars\IEDriverServer\IEDriverServer.exe”); WebD
运行 Selenium WebDriver 2.37.1 我在运行测试时遇到间歇性问题并收到以下错误: org.openqa.selenium.NoSuchElementException: no s
在执行 java 代码期间执行 driver.close();driver.quit(); 时,会引发以下错误: Exception in thread "main" org.openqa.selen
我正在尝试导入一个类,但 Eclipse 无法识别下载的库。我尝试通过Maven->更新项目来更新我的Maven项目,但没有帮助。我尝试删除除 selenium-java 之外的所有依赖项,但在 Ma
我在 UI 测试期间遇到以下错误。 org.openqa.selenium.WebDriverException: Element not found or not visible for xpath
我正在运行适用于 Android 应用程序的 appium 脚本。 但它根本没有运行。 我已经在我的 Maven 项目中添加了运行测试所需的所有依赖项。 添加下面的所有代码。 请检查并帮助我。 启动类
我正在编写一个自动化测试,如果出现错误,我想直接在 GitHub 的存储库中报告。在我的程序中失败的步骤是来自 GitHub Issue Tracker 的 Submit new issue 按钮。
openqa.selenium 和 thoughtworks.selenium 有什么区别?它们如何相互兼容? openqa.selenium包中没有Selenium类,但有WebDriver类。我想
必须在文本框中输入文本,列表会自动扩展,我需要选择第一项。但由于异常而失败; OpenQA.Selenium.NoSuchElementException。我尝试使用 wait.Until(),但遇到
我是一名优秀的程序员,十分优秀!