Selenium alert.sendKeys с Chrome не работает - PullRequest
0 голосов
/ 01 декабря 2018

Вот фрагмент кода, который у меня есть:

Alert promptAlert  = driver.switchTo().alert();
Thread.sleep(4000);
promptAlert.sendKeys("Accepting the alert");

Он отлично работает в Firefox, но в Chrome не работает.Я использую драйвер Gecko версии 0.23.0, драйвер Chrome версии 2.43.0.

Любая помощь приветствуется.

Ответы [ 3 ]

0 голосов
/ 01 декабря 2018

Вам нужно вызвать WebDriverWait для alertIsPresent следующим образом:

Alert promptAlert  = new WebDriverWait(driver, 10).until(ExpectedConditions.alertIsPresent());
promptAlert.sendKeys("Accepting the alert");
0 голосов
/ 03 декабря 2018

Попробуйте использовать этот код

Alert alert = driver.switchTo().alert();
System.out.println(alert.getText());
alert.sendKeys("testing");
alert.accept();
Thread.sleep(2000);
System.out.println(alert.getText());

Если он по-прежнему не работает, уменьшите версию драйвера Chrome.Я надеюсь, что это сработает.

0 голосов
/ 01 декабря 2018

Я думаю, это потому, что alert блокирует цикл событий.Вы должны быть в состоянии отключить оповещения:

driver.executeScript("window.alert = () => 0")
...