[英]menu item does not click by Selenium WebElement
請參見以下代碼段。 我要單擊菜單項:“帳戶管理”,Java函數未返回。 顯示了菜單項,我可以手動單擊。
<body ...> <div ...> <div...>
<ul...>
<li class="x">
<a class="y" key="z", href="javascript:void(0)">
<span class="z2" lan="14377" v="Account Management">Account Management</span>
</a>
</li>
</ul>
碼
public static boolean actionClickByXPath(WebDriver browser, String xpath) {
WebDriverWait wait = new WebDriverWait(browser, 3);
JavascriptExecutor js = ((JavascriptExecutor) browser);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(xpath)));
//scrolling
WebElement webelement = browser.findElement(By.xpath(xpath));
js.executeScript("arguments[0].scrollIntoView(true);", webelement);
//clickable
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(xpath)));
boolean clicked = false;
do{
try {
webelement.click();
} catch (WebDriverException e) {
Sleep(200);
continue;
} finally {
clicked = true;
}
} while (!clicked);
return true;
}
嘗試單擊“ Account Management
”文本
.//*[contains(text(), 'Account Management')]
要么
.//*[contains(., 'Account Management')]
我也更改了代碼的順序
JavascriptExecutor js = ((JavascriptExecutor) browser);
js.executeScript("arguments[0].scrollIntoView(true);", webelement);
WebDriverWait wait = new WebDriverWait(browser, 3);
WebElement webelement = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(xpath)));
webelement.click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.