Selenium Basic Auth Python
Для входа на сайт защищенный Basic Auth c помощью Selenium достоточно передать логин и пароль внутри ссылки.
Синтаксис: http://username:password@the-site.com
Пример кода на python, драйвер для google chrome
from selenium import webdriver
DRIVER = "nix/chromedriver.2.28"
driver = webdriver.Chrome(DRIVER)
# http://user:pass@host.tld
driver.get("http://admin:admin@the-internet.herokuapp.com/basic_auth")
Методы передачи заголовка и отправки паролей доступные в java, в драйвере python пока не поддерживаются
В новых версиях браузеров установлена защита от паролей в ссылке, необходимо отключить защиту через параметры браузера. Для google chrome это - “–disable-blink-features=BlockCredentialedSubresources”
Альтернативные решения
- создание расширения браузера
- использование инструментов автоматизации и управления клавиатурой и мышью
- загрузка сохраненных профилей, с пройденной авторизацией
- проксирование через сайты с поддержкой дополнительных заголовков
При тестировании собственных сайтов, на время теста проще всего отключать вход по логину и паролю, проводя тест на локальном сайте.