簡體   English   中英

硒找不到元素

[英]Selenium does not find an element

我正在用Java寫測試,因此Selenium無法找到名稱為0108的元素:

<div id="appmngTabs">
<ul id="menu">
<li name="0101">
<li name="0102">
<li name="0103">
<li name="0104">
<li name="0105">
<li name="0106" class="activ">
<li name="0107">
<li name="0108">
<a onfocus="disableFocus()" onclick="focusTab('0108')" target="content" href="applMenu?mode=cnt&menu=EOB2B&uni=0108" name="0108">Interfacing</a>
</li>
<li name="0109">
<li name="0199">

我在此HTML代碼中看不到任何特別之處,但Selenium無法單擊它。 我嘗試過的

driver.findElement(By.name("0108")).click();
driver.findElement(By.cssSelector("[name=0108]")).click();
driver.findElement(By.cssSelector("li[name=0108]")).click();

我嘗試過這樣的組合:

driver.findElement(By.id("menu").name("0108")).click();

依然沒有。 難道我做錯了什么?

更新:框架:

<frame id="menu" noresize="" marginheight="0" marginwidth="0" scrolling="no" frameborder="0" name="menu" src="applMenu?menu=EOB2B">

更新2:框架/框架集

<frameset framespacing="0" frameborder="0" rows="144,*">
<frame id="menu" noresize="" marginheight="0" marginwidth="0" scrolling="no" frameborder="0" name="menu" src="applMenu?menu=EOB2B">
<frame id="content" noresize="" marginheight="0" marginwidth="0" scrolling="auto" frameborder="0" name="content" src="applMenu?mode=cnt&menu=EOB2B">
</frameset>

更新3:AJAX我被告知問題可能與加載Ajax有關,我添加了以下內容:

WebDriverWait wait = new WebDriverWait(driver, 35);
wait.until(ExpectedConditions.presenceOfElementLocated(By.name("0108")));

但這也沒有幫助。

更新4:HtmlDriver與FireforDriver。 我在運行測試時使用了html驅動程序,但是我嘗試使用Firefox驅動程序來查看真正的happeinig,打開頁面后,出現無法打開錯誤文檔的情況 ,而使用硒離子時,沒有問題-測試正常。

我該怎么辦?

由於該元素在frame因此在發出findElement()之前切換到它

driver.switchTo().frame("menu");
driver.findElement(By.name("0108")).click();

當您需要返回主文檔的上下文時:

driver.switchTo().defaultContent();

請注意,在單擊子菜單之前,您可能還需要單擊菜單以將其打開。

通過XPath嘗試

driver.findElement(By.xpath("//*[@name='108']"))

編輯:

如果您真的需要通過cssselector查找

driver.findElement(By.cssSelector("li[name=\"0108\"]")).click();

應該管用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM