Как я могу обработать предупреждение / всплывающее окно с двумя текстовыми вводами? - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь автоматизировать процесс входа на домашний маршрутизатор и хочу ввести имя пользователя и пароль в сообщении с предупреждением, к сожалению, я не могу этого сделать

после некоторого исследования я обнаружил, что могу принять предупреждение, используя

alert = driver.switch_to.alert alert.accept()

и отправка ключей в Интернет с помощью метода send_keys ()

но проблема в том, что у меня два текстовых поля вместо одного

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://admin:admin@192.168.1.1")

#note I have both textboxes in the same alert
#and the alert popup once I request the page

alert = driver.switch_to.alert

alert.accept()

1 Ответ

1 голос
/ 14 мая 2019

Я тоже сталкивался с подобной проблемой.driver.get ("http://admin:admin@192.168.1.1") должен фактически войти в URL, как вы уже упомянули в URL-адресе admin: admin в качестве идентификатора пользователя и пароля. По-моему, всплывающее окно не является частью браузера, а излежащая в основе ОС. Следовательно, не может взаимодействовать с ней с помощью selenium. Таким образом, идентификатор пользователя и пароль по умолчанию передаются в URL для входа в систему. Вам больше не нужно взаимодействовать с окном авторизации, которое обрабатывается в самом URL. Я ссылался на http://learn -automation.com / handle-windows-authentication-using-selenium-webdriver /

Удалось ли вам проверить 2 текстовых поля всплывающего окна? Если нет, то они изОС, а не из браузера.

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