Этот алерт появляется после закрытия дополнительного всплывающего окна. Алерт находится в основном окне и содержит просьбу обновить страницу.
Для перехода в основное окно используется метод (опустим вопрос откуда драйвер и какой метод из какого хелпера
):
Для обработки используется метод > accetptAlert()
public static void switchToSpecificWindow(final String value, int seconds, final boolean isByTitle) {
try {
new WebDriverWait(getDriver(), seconds).until((WebDriver driver) -> {
for (String handle : driver.getWindowHandles()) {
driver.switchTo().window(handle);
acceptAlert();
if ((isByTitle && driver.getTitle().contains(value))
|| driver.getCurrentUrl().contains(value)) {
return true;
}
}
return false;
});
} catch (WebDriverException ex) {
throw new WebDriverException("Cannot switch to Specific window - time out");
}
}
private static boolean acceptAlert() {
try {
Alert alert = getDriver().switchTo().alert();
alertStorage.setAlertText(alert.getText());
alert.accept();
return true;
} catch (NoAlertPresentException ignored) {
return false;
}
}
Попытка дождаться появления алерта и словить UnhandledAlertException не работает потому что нужно переключиться в нужное окно для начала.
Данный метод работает в ИЕ, в хроме он не нужен потому что страница сама без алерта перезагружается.
На данный момент проблема не актуальна из-за обновления браузера на виртуалках до последней версии, но это привело просто к тому что алерт не появляется... но не решило проблему :smile: