Когда будет первый вызов метода pollingEvery()?
Сейчас я работаю над Selenium, и мне нужно использовать FluentWait. В моем коде есть строка, которая привела меня прямо сюда.
.pollingEvery(Duration.ofMillis(250))
Когда первый звонок? Это в момент запуска кода или через 250 миллисекунд?
Я искал ответ, но все, что я получил, это то, что Selenium проверяет, отображается ли WebElement каждые 250 миллисекунд (в данном случае).
FluentWait <WebDriver> fluentWait = new FluentWait <> (driver);
WebElement myWorldMessage = fluentWait
.withTimeout(Duration.ofSeconds(5))
.pollingEvery(Duration.ofMillis(250))
.ignoring(NoSuchElementException.class)
.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@id='finish']/h4")));
1 ответ
Решение
Он проверяет немедленно, а затем опрашивает (проверяет снова) каждые 250 мс.
Вы можете проверить WebDriverWait
а также ExpectedConditions
. WebDriverWait
расширяет FluentWait
но использует некоторые значения по умолчанию, и его проще настроить. Ваш код превратится в
new WebDriverWait(driver, 5).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@id='finish']/h4")));
См. Источники.