Как перехватить HTTP-запрос веб-драйвера python selenium?

Я делаю веб-приложение с Django-Gunicorn-Nginx. Это своего рода закрытое сообщество. Поэтому в начале регистрации требуется аутентификация на стороннем сервере. Поскольку сторонний сервер не предоставляет официальный API аутентификации, я пытаюсь реализовать модуль самостоятельно с помощью python selenium.

Я построил модуль в файле python в каталоге приложений учетных записей Django. Когда я тестирую модуль с терминалом python3 somemodulename.py, он работает отлично. Однако, когда я импортирую модуль (который является функцией) в view.py приложения учетных записей и тестирую его в браузере, в какой-то момент стороннее приложение выдает сообщение invalid session. Такого никогда не случалось, когда я тестировал точно такую ​​же функцию с терминалом.

Итак, если есть какой-либо способ перехватить HTTP-запрос, который отправляет веб-драйвер selenium chrome, я хотел бы сравнить оба случая для отладки. Как можно получить полный HTTP-запрос веб-драйвера Chrome с селеном Python, не мешая процессу кода?

Мне жаль, что я не смог добавить фактический код из-за проблем с безопасностью.


person Chanwoo Ahn    schedule 18.02.2020    source источник


Ответы (1)


К сожалению, это невозможно с помощью Selenium API. Длинное и скучное обсуждение причин можно найти здесь.

Однако есть несколько обходных путей, например, вы можете попробовать зафиксировать его с помощью журналов браузера. Хороший пример того, как это сделать, обсуждается здесь: Как получить код ответа HTTP с помощью Selenium WebDriver.

person Svetlana Levinsohn    schedule 18.02.2020