我使用Java(IE11)在Selenium中出现Cannot locate an element using By.xpath
错误。我正在使用Adobe AEM(CQ5)创建的网页。
我尝试了以下可能的解决方案,但都没有帮助。
/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搜索元素时,我很成功。但是当我执行代码时,我得到了错误。
答案 0 :(得分:0)
如果您使用的是正确的IFRAME,则可以使用
driver.findElement(By.id("cq-gen188"));
请记住,ID总是unique,这是创作UI中所有库的核心假设,无论是来自核心AEM框架还是来自自定义组件。
您的问题可能是因为错误的IFRAME,因为AEM整齐地使用户界面看起来像一个无缝窗口,但是有适当的IFRAME来促进各种创作导航体验。