Когда будет первый вызов метода 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")));

См. Источники.

Другие вопросы по тегам