Ниже мой кодВ чем разница между явным ожиданием и плавным ожиданием в webdriver?
public boolean waitForElementToBeClickable(String xpathValue){
Boolean flag = false;
WebElement myDynamicElement = (new WebDriverWait(Base.base.getDriver(), 30))
.until(ExpectedConditions.elementToBeClickable(By.xpath(xpathValue)));
flag = true;
return flag;
}
Это ожидание элемента появляться в течение 30 секунд, и если элемент готов до 30 сек это выполнить следующую команду.
, но когда я использую ниже код для свободно ждать
public Boolean waitForElementToAppear(final WebElement e){
Wait<WebElement> wait = new FluentWait<WebElement>(e)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(2, TimeUnit.SECONDS)
;
Boolean foo = wait.until(new Function<WebElement, Boolean>() {
public Boolean apply(WebElement element) {
return element.isDisplayed();
}
});
return foo;
}
Это говорит No-такое исключение элемента, он даже и не ждать 30 секунд, это выбросить исключение мгновенно.
Может кто-нибудь сказать, в чем проблема?
См [это] (http://stackoverflow.com/questions/28658418/differences-between-impilicit-explicit-and-fluentwait) – Saifur
возможно дубликат [селеном WebDriver - явное wait vs implicit wait] (http://stackoverflow.com/questions/10404160/selenium-webdriver-explicit-wait-vs-implicit-wait) – olyv