【问题标题】:Unable to locate element in chrome using Selenium [duplicate]无法使用 Selenium 在 chrome 中定位元素 [重复]
【发布时间】:2019-08-04 23:56:01
【问题描述】:

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

【问题讨论】:

  • 现在每次运行时我的 selenium 脚本都会失败。我得到 NoSuchElementException ,我明白它为什么会这样。如何让我的浏览器不先手动定位元素?
  • 请添加您要定位的元素的html
  • @PrashantShekhar Don't do this。请阅读为什么screenshot of HTML or code or error is a bad idea。考虑使用基于格式化文本的相关 HTML、代码试验和错误堆栈跟踪来更新问题。

标签: selenium google-chrome nosuchelementexception


【解决方案1】:

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

查看最顶部的第一个屏幕截图,上面写着“顶部”。这是您在其中查找元素的上下文。

在第二张截图中,你可以看到“top”变成了“main (Welcome.jsp)”

表示在主上下文中找不到该元素。它位于iframe

要找到该元素,请使用

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

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

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

driver.switchTo().defaultContent();

【讨论】:

    猜你喜欢
    • 2021-04-12
    • 2020-03-11
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多