Поиск…


Селен с Java

Вот как обрабатывать всплывающее оповещение в Java с помощью Selenium:

Существует 3 типа всплывающих окон.

  1. Simple alert : alert («Это простое предупреждение»);
  2. Предупреждение о подтверждении : var popuResult = подтвердить («Подтвердить всплывающее окно с помощью кнопки« ОК »и« Отмена »);
  3. Быстрое предупреждение : var person = prompt («Вам нравится stackoverflow?», «Да / Нет»);

Его дозвон, какой тип всплывающего окна необходимо обрабатывать в тестовом примере.

Либо вы можете

  1. accept () Чтобы принять оповещение

  2. Увольнять () Отклонить предупреждение

  3. getText () Чтобы получить текст предупреждения

  4. 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 :

  1. Устаревший :
alert = driver.switch_to_alert()
  1. Использование switch_to :
alert = driver.switch_to.alert
  1. Использование 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())
  1. Объявив экземпляр класса 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()



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow