我正在使用的 HTML
页面包含以下元素:
<a style="text-decoration:none; font-weight:normal;" href="javascript:void(0);" onclick="CreateNewServiceItemApproved();">
<img src="icons/ui/addnew.png">
<span style="color:#000">Add New Incident</span>
</a>
我需要点击它但收到
org.openqa.selenium.NoSuchElementException: Unable to locate element
错误。
尝试使用以下命令找到它:
driver.findElement(By.xpath("a[@onclick='CreateNewServiceItemApproved()']")).click();
driver.findElement(By.xpath("//span[contains(text(),'Add New Incident')]"));
为什么我找不到这个元素?
这是怎么回事?
最佳答案
由于该元素位于 iframe
内,您需要switch
首先到 iframe:
driver.switchTo().frame(driver.findElement(By.id("iframeId")));
然后找到<a>
元素。
iframe 可以通过 id
找到, xpath
或通常的方法。
当处理是donde时,您可能需要切换到默认内容:
driver.switchTo().defaultContent();
关于javascript - Selenium 网络驱动程序 : Can't access element containing onclick and text attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32268967/