Как работать с всплывающими сообщениями selenium webdriver - Java

90
11

В настоящее время я работаю над созданием скрипта, который будет проверять функциональность веб-сайта. В настоящее время я заблокирован всплывающим сообщением, которое появляется, когда выполняются определенные условия, когда это всплывающее сообщение появляется с моим сценарием, если я добавляю что-то вроде driver.findElement(By.xpath("//div[4]/div/div/div/div/div/button")).click(); сценарий не работает, когда всплывающее окно не появляется. Мой вопрос: есть ли способ проверить "Если кнопка существует, тогда нажмите кнопку" x ", если не двигаться вперед". Я знаю, после какого действия (щелчок) сообщение появляется/не появляется. Имейте в виду, что я сейчас изучаю java и селен.

спросил(а) 2017-04-19T10:17:00+03:00 3 года, 5 месяцев назад
1
Решение
80

Бану

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

От

driver.switchTo().alert().getText();  

ответил(а) 2017-04-20T12:54:00+03:00 3 года, 5 месяцев назад
-4

Вы можете использовать явное ожидание наличия кнопки: -

WebDriverWait wait = new WebDriverWait(driver,10)
WebElement btn = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("---")));

Затем, чтобы отклонить/принять предупреждающее сообщение, используйте следующий код:

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

ответил(а) 2017-04-19T12:16:00+03:00 3 года, 5 месяцев назад
-4

Используйте класс Alert для обработки всплывающих окон


Предупреждающее предупреждение = driver.switchTo(). Alert();
alert.accept();

ответил(а) 2017-04-19T10:28:00+03:00 3 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема