Я хочу иметь возможность получить тело конкретного подзапроса, используя селен за прокси.
Теперь я использую python + selenium + chromedriver.При ведении журнала я могу получить заголовки каждого подзапроса, но не тело.Мои настройки ведения журнала:
caps ['loggingPrefs'] = {'performance': 'ALL', 'browser': 'ALL'}
caps ['perfLoggingPrefs'] ={"enableNetwork": True, "enablePage": True, "enableTimeline": True}
Я знаю, что есть несколько вариантов формирования HAR с селеном:
- Используйте geckodriver и har-export-trigger .Я попытался заставить его работать со следующим кодом:
window.foo = HAR.triggerExport (). Then (harLog => {return (harLog);});return window.foo;
К сожалению, я не вижу тела ответа в возвращаемых данных.
- Использовать прокси-сервер browsermob.Решение кажется вполне приемлемым, но я не нашел способа заставить прокси-сервер browsermob работать за прокси-сервером.
Итак, вопрос: как я могу получить тело конкретного сетевого ответа на запрос?сделано во время загрузки веб-страницы с селеном И с использованием прокси.
UPD: На самом деле, с har-export-trigger я получаю тела ответа, но не все из них: тело ответаМне нужно это в JSON, это MIME-тип 'text / html;charset = utf-8 ', и он отсутствует в создаваемом мной файле HAR, поэтому решение по-прежнему отсутствует.
UPD2: После дальнейшего изучения я понял, что тело ответа отсутствует даже на моем настольном Firefox, когданадстройка har-export-trigger включена, поэтому это решение может быть тупиковым ( проблема на Github )
UPD3: эта ошибка можетбыть увиденным только с последней версией har-export-trigger.С версией 0.6.0.все работает просто отлично.
Итак, для будущих гуглов: вы можете использовать har-export-trigger v. 0.6.0.или подход из принятого ответа.