ТЫ моешь или куки особые подложить с авторизацией при открытии страницы или же switchTo().alert()…(не знаю как на пайтон) - И ввести данные авторизации
Именно. Ведь пока окно ввода логина/пароля не будет корректно заполнено значениями, даже в адресной строке не появятся адрес сайте.
Сейчас, кстати, решил по другому подойти к ситуации: создал другой профиль, прошел авторизацию (куки соответственно сохранились) и запустить тест по другим профилем.
Профиль Selenium был создан. Первый заход под ним осуществлен, в списке виден, но тест при запуске выдаёт ошибку:
No tests found
=================================== ERRORS ====================================
_______________________ ERROR collecting test002_OWA.py _______________________
test002_OWA.py:6: in <module>
driver = webdriver.Firefox(firefox_profile='Selenium')
..\..\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py:58: in __init__
self.NATIVE_EVENTS_ALLOWED and self.profile.native_events_enabled)
E AttributeError: 'str' object has no attribute 'native_events_enabled'
=========================== 1 error in 0.11 seconds ===========================
Обход базовой аутентификации зависит от браузера.
Насколько помню, только в хроме по дефолту можно через адресную строку передать лог/пас.
В ФФ нужно запускать браузер с спец флагом для активации автоматического логина.
В ИЕ нужно править реестр…
Дело в том, что с этим сайтом вышеупомянутый мной код хорошо работает: [quote=“AnthraxMind, post:14, topic:12173”]
response = requests.get(url, verify=False, auth=HTTPBasicAuth(login, password))
[/quote]
При верных реквизитах ответ 200, при не верных 401 .
Ещё вопрос, если сертификат сайта просрочен, то с этим уже нет возможности что-то сделать, в плане пройти базовую авторизацию?
We should block requests for subresources that contain embedded credentials (e.g. “http://ima_user:hunter2@example.com/yay.tiff”). Such resources would be handled as network errors.
Specification
Причем тут селениум? Это окно проще проехать с помощью xdotool под любой Linux дистр, а лучше найди либу для управления клавой. У тебя по факту надо ввести логин, табнуть, пароль, табнуть дважды и нажать Enter.
Дабы не плодить темы, спрошу тут,
Использую Selenium 4, Python3, Chrome
Мне средствами тестов необходимо авторизоваться при помощи Basic Auth на внутреннем ресурсе. После авторизации, которого появляется кука с токеном и этот токен добавляется в заголовки части запросов
Я пробовал авторизоваться следующим способом:
driver.get('https://log:paws@new.dev.tech')
Но, увы, фронт частично загружается, и многие запросы имеют статус 401 (Unauthorized). В общем сайт не загружается нормально.
Ситуация поменялась, фронт стал загружаться, и я получаю cookie с токеном. Но ссылки, такие как: https://api.dev.tech/...., не загружаются и имеют статус: 401 Unauthorized. Соответственно, с бека мне ничего не приходит
При этом, все ссылки типа https://new.dev.tech...
нормально загружаются и имеют необходимый токен в заголовках - это правильно, но ссылки типа https://api.dev.tech имеет пустой заголовок без Authorization Bearer токен.