Вместо thread.sleep()
вы можете вызвать WebDriverWait
для нового ExpectedConditions.alertIsPresent()
, чтобы убедиться, что предупреждение полностью загружено, прежде чем пытаться вызвать alert.getText()
:
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
// add the above import statements
// wait for alert to exist
new WebDriverWait(driver, 30).until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
String msg = alert.getText();
Если это не работает для Вы, ваш браузер, возможно, не отображаете истинное предупреждение - вы можете попытаться проверить всплывающее окно и посмотреть, есть ли за ним элементы HTML, чтобы проверить это.