2009-11-22 1 views
4

Я могу получить доступ к таким страницам, как about:cache-entry?client=HTTP&sb=1&key=(some URL) непосредственно в Firefox, но когда он отображает страницу, он, безусловно, получает данные из некоторого хранилища. Как я могу получить доступ к последней из Python Firefox Webdriver?Как получить доступ к кешу Firefox из webdriver?

ответ

2

страница, возвращаемый такой about:cache-entry?... URL содержит строку, как это:

file on disk: /home/fviktor/.mozilla/firefox/7jx6k3hx.default/Cache/CF7379D8d01 

Это полный путь к файлу кэша, если таковые имеются. Я думаю, вы сможете прочитать этот файл с Python, как обычно, но я еще не тестировал его. Идентификатор пути также может быть none в случае небольших файлов, кэшированных только в памяти. Вы можете получить содержимое файла, проанализируя шестнадцатеричный дамп на возвращенной странице в этом случае.

+1

Если вы посмотрите в свой 'about: cache', вы увидите, что некоторые элементы кэша находятся на диске (* Устройство кэширования диска *), а некоторые находятся в памяти (* Устройство кэширования памяти *), которые в памяти не имеют путь, связанный с ними, и OP хочет знать, как он может получить к ним доступ. – Motti

+1

Эти страницы 'about: cache-entry? ...' содержат полный шестнадцатеричный дамп кэшированных файлов, даже если они находятся в кеше памяти. Медленным решением будет анализ этого шестнадцатеричного дампа. Например, он должен работать для вас в Firefox: 'about: cache-entry? Client = HTTP & sb = 1 & key = http: // sstatic.net/so/img/logo.png' – fviktor