java - Selenium Webdriver - 能够通过 firebug 定位元素,但在 Webdriver 中出现 nosuchelementException

标签 java html selenium selenium-webdriver webdriver

发生的情况是我有这个网页: main1 以下 div 是上面屏幕截图中以青色显示的内容。我圈出了我想要找到的文字: enter image description here

我尝试过 Xpath 和 CSS。它们都在 Firebug 中工作,并且都将元素很好地定位在这个 float div 中。但是当我运行我的脚本时,我得到了 nosuchelement 异常。

-我怀疑的事情:

  1. 如你所见,这个div是对另一个网页的调用(由 div 内的整个 html 树)。这可能是原因 Webdriver 下 hell 却找不到任何东西。但我不知道 如何告诉它在这个窗口中查看。
  2. div 的作用就像一个 float 弹出窗口,使其余部分变灰 背景页。不确定这是否有什么关系,但可能是 也会带来麻烦。

我认为没有必要,但这是我在 Firepath 中使用的 CSS 定位器之一,用于定位 5040 文本。

driver.findElement(By.cssSelector(".feature>tbody>tr>td[width='312']")

所以这里的问题是:如果我的 xpath/css 定位器手动工作但不能使用 WebDriver,我如何在这些 td 中找到此文本?

最佳答案

查看 iframe 元素 - 这是您收到异常的原因。

在查找元素之前,您需要切换到 iframe:

driver.switchTo().frame("Content")

或者(如果由于 id 中存在空格而无法正常工作):

driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[id$=Content]"));

关于java - Selenium Webdriver - 能够通过 firebug 定位元素,但在 Webdriver 中出现 nosuchelementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31393669/

相关文章:

javascript - 滚动到特定元素时触发事件,然后使用 jquery 停止它

selenium - 无法在 ReportNG HTML 报告中添加屏幕截图

java - sun.security.rsa.RSAPublicKeyImpl 的开源替代品

html - div 占用新的一行而不只是占用更多的垂直空间

java - 将自定义消息从 Servlet 传递到 JSP 页面?

css - HTML 5,类的使用

testing - Web 自动化工具是否适合开发自定义负载/压力测试工具?

python - 属性错误: 'WebElement' object has no attribute 'copy' error when moved the function Select to a common file using Selenium Python through Django

java - Spring Boot 和 url 中的参数验证

java - java Protobuf 对象集与 Class 对象的行为不同