WebDriverWait периодически опрашивает условие (ExpectedCondition) до успеха или timeout, бросая TimeoutException при неудаче.
Разбор
- Интервал polling настраивается (по умолчанию ~500ms).
- Игнорируемые исключения (NoSuchElement) задают явно.
- Кастомные conditions через lambda/
ExpectedCondition.
- FluentWait — родственник с более гибкой конфигурацией.
Пример
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
WebElement btn = wait.until(ExpectedConditions.elementToBeClickable(By.id("go")));
btn.click();
Итог
WebDriverWait — стандартный способ синхронизации с асинхронным UI в Selenium.