{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }// Waiting 30 seconds for an element to be present on the page, checking
// for its presence once every 5 seconds.
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, SECONDS)
.pollingEvery(5, SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(By.id(“foo”));
}
});{/syntaxhighlighter}что происходит: метод until вызывает анонимный метод function c регулярностью в 5 секунд на протяжении 30 секунд
такс, с пасом разобрался, не там кусок кода влупил просто)) Не видило значение переменной по ходу, короче уже находит елементы.
Возник другой вопрос:
как управлять такими контрукциями: click - smth happen (request) - wait until smth appear (for elements present)
тоесть, кликаю - пошел запрос, скрипт должен ждать пока не появяться елементы конкретные вот по такой интерпретации x-patha List <WebElement> rows = driver.findElements(By.xpath("//td[contains(@class,'loadingDuration')]"));
то есть как написать такую штуку, что б скрипт ждал до того момента пока rows.size () будет равно конкретному числу. что то типа while (rows.size()!=3){ wait.until () } - вот именно не знаю как етот вейт антил забацать.