繁体   English   中英

在Selenium Java中找不到元素

[英]Unable to find the element in Selenium Java

[[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

我通过By.PartialLinkText(“ xyz”);成功了; 试试吧。

driver.findElement(By.PartialLinkText("CFDSDSR");

希望你的问题能得到解决

这是经典问题吗,如果是JavaScript操作,则a hrefa 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();");

我现在在这里回答我自己的问题。 在深入研究代码之后,我在代码中增加了一行来使其工作。 在driver.switchTo()。frame(“ main”);之前; 我添加了driver.switchTo()。defaultContent(); 它给了我预期的结果。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM