Selenium WebDriver: закрытие последовательных всплывающих окон / оповещений - PullRequest
0 голосов
/ 12 марта 2019

URL: https://www.guru99.com/alert-popup-handling-selenium.html

Тестовая страница: http://demo.guru99.com/test/delete_customer.php

со страницы теста,

1) Введите числовой номер в поле customer id

2) Нажмите на кнопку Submit

3) Нажмите «ОК» в сообщении с помощью

driver.switchTo().alert().accept();

4) Закройте следующее предупреждение, сказав «Клиент успешно удален!»

шаг 4: я не могу использовать

driver.switchTo().alert().dismiss(); 

как я раньше.

Мне нужна помощь, как закрыть закрывающее всплывающее окно?

Редактировать: я работаю с Java

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Вам нужно подождать некоторое время и проверить наличие оповещения или нет?Поскольку страница загружается после того, как вы приняли первое предупреждение.

Ниже приведен рабочий код Java:

// Launching the browser and Navigating to the given URL
driver.get("http://demo.guru99.com/test/delete_customer.php");

// Locating the Customer ID field and Sending the text
WebElement customerID = driver.findElement(By.name("cusid"));
customerID.sendKeys("Something");

// Locating the Submit and Clicking on it
WebElement submit = driver.findElement(By.name("submit"));
submit.click();

// Switching to the first alert and Printing the alert text and Accepting the alert
Alert alert = driver.switchTo().alert();
System.out.println("=> The alert text is : "+alert.getText());
alert.accept();

// Using the WebDriverWait to wait until the alert is displayed
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.alertIsPresent());

// Once the alert is displayed, switching to that alert and Dismissing it
alert = driver.switchTo().alert();
System.out.println("=> An another alert text is : "+alert.getText());
alert.dismiss();

Надеюсь, это поможет ...

0 голосов
/ 12 марта 2019

Если вы видите, что браузер обновляется после отправки.

Поэтому используйте задержку, чтобы убедиться, что оповещение загружено:

WebDriverWait(browser, 4).until(EC.alert_is_present())

Тогда используйте

 alert = browser.switch_to.alert
 alert.accept()

принять предупреждение, т. Е. Нажать «ок»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...