无法使用Selenium在chrome中定位元素

时间:2019-03-14 06:55:54

标签: selenium google-chrome nosuchelementexception

我正在尝试使用Chrome浏览器定位元素。问题是当我尝试使用浏览器的新实例进行定位时,未找到元素。现在,当我手动检查元素,然后尝试使用相同的xpath / id / name表达式在控制台中定位时,便能够找到它。我已经附上了屏幕截图。请建议一些解决方法。

Failed Attampe to locate the element

Successful attempt

1 个答案:

答案 0 :(得分:1)

您所附的屏幕截图确实回答了您的问题。

在最上方看到第一个屏幕截图,上面写着“ top”。在其中寻找元素的上下文。

在第二个屏幕截图中,您可以看到“ top”更改为“ main(Welcome.jsp)”

这意味着在主上下文中找不到该元素。它位于iframe

要找到该元素,请使用

driver.switchTo().frame("frame name or frame id");

,然后执行.findElement()WebDriver将在iframe中查找元素。

完成后,使用以下代码切换到top上下文:

driver.switchTo().defaultContent();