Перехват заголовков запросов в Selenium
При работе с Selenium (пишу на Python 3) возникла проблема: когда веб-страница отправляет запрос на сервер, мне нужно перехватить заголовок и тело запроса. Кто-нибудь знает, как это можно реализовать?
Ответы (1 шт):
Используйте прокси, например BrowserMob-proxy. Здесь есть пример: https://stackoverflow.com/questions/48201944/how-to-use-browsermob-with-python-selenium
В двух словах процесс такой:
- Стартуете прокси
- Из своего кода "привязываетесь" к проксе
- Стартуете браузер с использованием прокси
- Перед действием, которое хотите записать, говорите:
proxy.new_har("какая-нибудь строчка") - После действия
proxy.harбудет содержать залогированные запросы в формате json, который можно распарсить и забрать то, что необходимо.
P.S. - Кроме самого запроса, который просит у сервера выдать страницу, сама страница генерирует отдельные запросы, загружая ресурсы (javascript, медиа, css), которые в ней прописаны. Кроме того, на странице может находиться javascript код, который может также генерировать запросы уже после того как сама страница загрузится. Это надо учитывать при определении того, заголовки каких запросов Вам надо перехватить.