“在selenium java中找不到使用By.xpath的元素”错误

时间:2017-06-27 09:27:24

标签: selenium iframe xpath aem

我使用Java(IE11)在Selenium中出现Cannot locate an element using By.xpath错误。我正在使用Adobe AEM(CQ5)创建的网页。

我尝试了以下可能的解决方案,但都没有帮助。

  • 试图添加等待。
  • 切换到活动窗口。
  • 甚至在Chrome上尝试过。
  • 关注元素。
  • 目前使用绝对路径(/html/body/div[4]/header[1]/div[1]/div[2]/div[5]/div[1]/nav/ul[1]/li[3]/a),但也使用相对路径(.//*[@id='cq-gen188']/nav/ul/li[3]/a)。
  • 还搜索是否涉及iframe。不幸的是没有。

为了找到xpath,我在Firefox中使用了FirePath插件。当我在Firefox中使用xpath搜索元素时,我很成功。但是当我执行代码时,我得到了错误。

1 个答案:

答案 0 :(得分:0)

如果您使用的是正确的IFRAME,则可以使用

driver.findElement(By.id("cq-gen188"));

请记住,ID总是unique,这是创作UI中所有库的核心假设,无论是来自核心AEM框架还是来自自定义组件。

您的问题可能是因为错误的IFRAME,因为AEM整齐地使用户界面看起来像一个无缝窗口,但是有适当的IFRAME来促进各种创作导航体验。