簡體   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