Тип способностей.НЕОЖИДАННЫЙ_АЛЕРТ_ВЫХОД, неожиданный_алерт_выход.ИГНОРИРОВАТЬ) и обработка предупреждения по-прежнему вызывает «неожиданное открытие предупреждения».

#java #selenium #webdriver #selenium-chromedriver

Вопрос:

В инициализации драйвера chrome я установил, поэтому, если по умолчанию есть предупреждение, оно не будет принято.

     caps.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
 

Поэтому после нажатия на элемент, даже если я его обработал, он все равно выбрасывает,

org.openqa.селен.Необработанное исключение lertexception: неожиданное открытие предупреждения

В прошлых ответах некоторые использовали try catch в элементе click on, а затем обрабатывали его. Есть ли лучший способ справиться с этим без использования блока try catch?

         element.click();
        Alert alert = driver.switchTo().alert();
        String alertText = alert.getText();
        Assert.assertEquals(alertText,"alert text");
        alert.accept();
        WebCommand.acceptAlert(driver);
 

Вот предупреждение,
введите описание изображения здесь

Ответ №1:

Вместо того, чтобы игнорировать неожиданное предупреждение с

 caps.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
 

Попробуйте настроить возможность приема предупреждения с помощью

 opts.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT);