0
См. Ниже фрагмент кода. Я хочу щелкнуть пункт меню «Управление учетными записями», функция Java не вернулась. Пункт меню был показан & Я мог бы вручную щелкнуть.Пункт меню не нажимает Selenium WebElement
<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;
}
В чем содержание 'xpath'? – Guy
String acctManagementTagPath = "// * [@ id = \" nav307 \ "]/ul/li [2]/a/span"; – Charlie
Я просто немного изменился. Функция DID NOT RETURN. Xpath действительно скопирован из Chrome. Мой html-код был просто упрощен. – Charlie