selenium-webdriver
Обращение с предупреждением
Поиск…
Селен с Java
Вот как обрабатывать всплывающее оповещение в Java с помощью Selenium:
Существует 3 типа всплывающих окон.
- Simple alert : alert («Это простое предупреждение»);
- Предупреждение о подтверждении : var popuResult = подтвердить («Подтвердить всплывающее окно с помощью кнопки« ОК »и« Отмена »);
- Быстрое предупреждение : var person = prompt («Вам нравится stackoverflow?», «Да / Нет»);
Его дозвон, какой тип всплывающего окна необходимо обрабатывать в тестовом примере.
Либо вы можете
accept () Чтобы принять оповещение
Увольнять () Отклонить предупреждение
getText () Чтобы получить текст предупреждения
sendKeys () Чтобы написать текст для предупреждения
Для простого предупреждения:
Alert simpleAlert = driver.switchTo().alert();
String alertText = simpleAlert.getText();
System.out.println("Alert text is " + alertText);
simpleAlert.accept();
Для подтверждения подтверждения:
Alert confirmationAlert = driver.switchTo().alert();
String alertText = confirmationAlert.getText();
System.out.println("Alert text is " + alertText);
confirmationAlert.dismiss();
Для быстрого оповещения:
Alert promptAlert = driver.switchTo().alert();
String alertText = promptAlert .getText();
System.out.println("Alert text is " + alertText);
//Send some text to the alert
promptAlert .sendKeys("Accepting the alert");
Thread.sleep(4000); //This sleep is not necessary, just for demonstration
promptAlert .accept();
в соответствии с вашими потребностями.
Другой способ, которым вы можете это сделать, - обернуть свой код внутри try-catch:
try{
// Your logic here.
} catch(UnhandledAlertException e){
Alert alert = driver.switchTo().alert();
alert.accept();
}
// Continue.
C #
Вот как закрыть всплывающее оповещение в C # с Selenium:
IAlert alert = driver.SwitchTo().Alert();
// Prints text and closes alert
System.out.println(alert.Text);
alert.Accept();
or
alert.Dismiss();
в соответствии с вашими потребностями.
Другой способ, которым вы можете это сделать, - обернуть свой код внутри try-catch:
try{
// Your logic here.
} catch(UnhandledAlertException e){
var alert = driver.SwitchTo().Alert();
alert.Accept();
}
// Continue.
питон
Существует несколько способов переключения всплывающих окон в Python
:
- Устаревший :
alert = driver.switch_to_alert()
- Использование
switch_to
:
alert = driver.switch_to.alert
- Использование
ExplicitWait
:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
alert = WebDriverWait(driver, TIMEOUT_IN_SECONDS).until(EC.alert_is_present())
- Объявив экземпляр класса
Alert
:
from selenium.webdriver.common.alert import Alert
alert = Alert(driver)
Чтобы заполнить поле ввода во всплывающем окне, вызванное prompt()
JavaScript
prompt()
:
alert.send_keys('Some text to send')
Чтобы подтвердить всплывающее диалоговое окно *:
alert.accept()
Уволить:
alert.dismiss()
Чтобы получить текст из всплывающего окна:
alert.text
* PS alert.dismiss()
может использоваться для подтверждения всплывающих окон, вызванных JavaScript
alert()
а также alert.confirm()