[[Img1 ][Img2[Img3]”我试图通过其链接文本来获取该元素。但是要低于异常。 线程“主” org.openqa.selenium.NoSuchElementException中的异常:没有这样的元素:无法找到元素:{“方法”:“链接文本”,“选择器”:“ CFDSDSR”}
我尝试通过切换到框架来进行跟踪,但是随后它给出了未找到的框架,但框架存在:
driver.switchTo().frame("main");
driver1.switchTo().defaultContent();
XPath:
/ html / body / table / tbody / tr / td / form / table 3 / tbody / tr / td / table / tbody / tr 3 / td / table / tbody / tr [ 6] / td 3 / a
代码: 尝试1:
driver.findElement(By.linkText("CFDSDSR")).click();
尝试2:
driver.findElement(By.xpath("//html/body/table/tbody/tr/td/form/table[1]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[6]/td[1]/a")).click();
HTML:
<frame name="main" marginheight="4" marginwidth="4" src="../utilityintro.jsp?title=Miscellaneous Utilities">
..........
..........
<a href="javascript:openpopup('CFDSDSR', '15003', 'COMPLETE')" class="lbcontext">CFDSDSR</a>
..........
..........
</frame>
试图将该帧中的所有元素都存储到ArrayList中,即使不起作用。
预期: 它应该选择该元素,然后单击弹出窗口。 实际: NoSuchElementException
答案 0 :(得分:1)
我成功使用By.PartialLinkText(“ xyz”); 尝试一下。
driver.findElement(By.PartialLinkText("CFDSDSR");
希望您的问题得到解决
答案 1 :(得分:0)
这是经典问题吗?如果是JavaScript操作,对a href
的clic无效。您需要javascrit的clic
driver.waitUntil(ExpectedConditions.elementToBeClickable(By.xpath("..."));
((JavascriptExecutor) driver)
.executeScript("document.evaluate(\"" + "...").replace("\"", "\\\"") + "\", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0).click();");
答案 2 :(得分:0)
我现在在这里回答我自己的问题。 在深入研究代码之后,我在代码中增加了一行来使其工作。 在driver.switchTo()。frame(“ main”);之前;我添加了driver.switchTo()。defaultContent();它给了我预期的结果。 :)