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

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

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

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

и отправив ключи в Интернет, используя метод, называемый send_keys()

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

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("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.send_keys('admin')
alert.send_keys('admin')
alert.accept()

Ответы [ 2 ]

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

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

попробуйте это: -

driver.get("https://UserName:Password@Example.com")

Существует три типа всплывающих окон, с которыми вы можете столкнуться.

1) Всплывающий веб-сайт, который в основном прост в обращении, так как вы можете найти его локатор элементов, а иногда это iframe, тогда вы также можете использовать переключение на iframe.

2) Второй - браузерная аутентификацияЕсли ваш браузер имеет всплывающую аутентификацию, вам не нужно беспокоиться о переключении, вам просто нужно передать аутентификационные данные с вашим URL-адресом как https://<username>:<password>@<your-site-name>

3) Третье - это всплывающее окно браузера,всплывающие окна браузера сложны в обращении, но если вы видите всплывающие окна браузера, которые являются обычными всплывающими окнами браузера, вы можете использовать команду ниже, чтобы переключиться на них.

alert_obj = driver.switch_to.alert

Для получения дополнительной информации читайте это и это также , Selenium Python Аутентификация диалогового окна входа в систему через браузер на HTTPS

0 голосов
/ 14 мая 2019

Похоже на ошибку, Chrome Bug

Попробуйте использовать FireFox

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