Selenium получить заголовки ответов HTTP или получить доступ к истории загрузки браузеров

91
9

Я использую python 2.7 и драйвер selenium, загруженный из


pip install selenium

Как я могу получить заголовки http из веб-запроса.


В частности, я нажимаю кнопку/ссылку, и сервер отвечает с ответом
содержащий файл csv.


Было бы здорово, если бы я мог получить имя файла из заголовков http.


Другой вариант: e для доступа к истории загрузки браузера.


Любые идеи о том, как можно достичь вышеуказанного?

спросил(а) 2014-11-15T20:33:00+03:00 5 лет, 11 месяцев назад
1
Решение
90

Selenium не может этого сделать (захват сетевого трафика). Я бы предложил использовать сторонний инструмент, например Browser Mob


Я не знаю, можете ли вы загрузить историю загрузки браузера... но в качестве обходного пути вы можете просто загружать файлы на пустой и просто позвоните в историю загрузок. Вы также можете ранжировать файлы по времени, загружаемым с помощью os.path.getmtime

import os

from selenium import webdriver

fp = webdriver.FirefoxProfile()

fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", "/tmp/empty-dir")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")

browser = webdriver.Firefox(firefox_profile=fp)
browser.get("http://pypi.python.org/pypi/selenium")
browser.find_element_by_partial_link_text("selenium-2").click()

os.listdir("/tmp/empty-dir")
['selenium-2.44.0.tar.gz']

ответил(а) 2014-11-17T11:14:00+03:00 5 лет, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема