这里我试图使用css选择器find方法单击一个按钮。但它无法找到该元素。所以我试着给时间,但仍然无法点击元素
代码示例 - >
WebDriverWait waitr = new WebDriverWait(driver, 10);
WebElement element = waitr.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#userTable > tbody > tr:nth-child(3) > td.sorting_1 > div > a")));
element.click();
我的HTML正文如下
<a data-toggle="dropdown" class="mainAnchor" aria-expanded="false">CA05
<span class="caret" style="margin-left:5px;"><span> </span></span></a>
如果我使用Thread.sleep(1000);而不是等待它工作正常,但我不想使用Thread.sleep.Please帮我解决这个问题
答案 0 :(得分:1)
要点击文字为CA05
的元素,您可以使用以下代码行:
new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.mainAnchor[data-toggle=dropdown]"))).click();
答案 1 :(得分:-1)
您好,您可以使用如下所示的流利。
static Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(elementWaitTime, SECONDS)
.pollingEvery(2,SECONDS)
.ignoring(NoSuchElementException.class);
WebElement element = wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver aDriver) {
driver= aDriver;
element.click();
return aDriver.findElement(cssSelector("#userTab a.mainAnchor"));
}
});