Selenium Webdriver - 能够通过 firebug 定位元素,但在 Webdriver 出现 nosuchelementexception
Selenium Webdriver - Able to locate elements through firebug, but getting nosuchelementexception at Webdriver
我有这个网页:
下面的 div
是上面屏幕截图中青色可见的内容。我圈出了我要查找的部分文字:
我试过 Xpath 和 CSS。它们都在 Firebug 中工作,并且它们都在这个浮动 div 中很好地定位元素。但是当我 运行 我的脚本时,我得到了 nosuchelement 异常。
-我怀疑的事情:
- 如您所见,这个div是对另一个网页的调用(由
div 内的整个 html 树)。这可能是原因
Webdriver 去地狱,没有找到任何东西。但我不知道
如何让它在 window.
中查看
- div 就像一个浮动的弹出窗口,将其余部分变灰
背景页面。不确定这是否有任何关系,但可能是
也惹事了
我认为没有必要,但这是我在 Firepath 中使用并用于定位 5040 文本的 CSS 定位器之一。
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]"));
我有这个网页:
div
是上面屏幕截图中青色可见的内容。我圈出了我要查找的部分文字:
我试过 Xpath 和 CSS。它们都在 Firebug 中工作,并且它们都在这个浮动 div 中很好地定位元素。但是当我 运行 我的脚本时,我得到了 nosuchelement 异常。
-我怀疑的事情:
- 如您所见,这个div是对另一个网页的调用(由 div 内的整个 html 树)。这可能是原因 Webdriver 去地狱,没有找到任何东西。但我不知道 如何让它在 window. 中查看
- div 就像一个浮动的弹出窗口,将其余部分变灰 背景页面。不确定这是否有任何关系,但可能是 也惹事了
我认为没有必要,但这是我在 Firepath 中使用并用于定位 5040 文本的 CSS 定位器之一。
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]"));