Получите HAR в той же последовательности с browsermobproxy, что и в браузере - PullRequest
0 голосов
/ 12 января 2019

Я сканирую сетевые данные веб-сайта, чтобы посмотреть, какие ресурсы загружены на веб-сайт и т. Д. Я использую browsermob-proxy для этого. Поскольку имена файлов являются UUID, и я сканирую несколько страниц, я делаю это автоматически с selenium. browsermob-proxy возвращает HAR, в котором сетевые данные действительно хороши для просмотра. Но тут я заметил, что последовательность файлов всегда различна.

Например, 1.jpg впервые загружается как первый объект, а в следующий раз - как второй объект. Но мне нужен точно такой же порядок, как на веб-странице и в инструментах DEV в браузере (вкладка «Сеть»).

Как я могу это понять?

Мой код:

from browsermobproxy import Server
from selenium import webdriver

import psutil
import time

img_list = list()

for proc in psutil.process_iter():
    if proc.name() == "browsermob-proxy":
        proc.kill()

dict = {'port': 8090}

server = Server(path="/Users/X/X/browsermob-proxy-2.1.4/bin/browsermob-proxy", options=dict)

server.start()
time.sleep(1)
proxy = server.create_proxy()

time.sleep(1)

profile = webdriver.FirefoxProfile()

selenium_proxy = proxy.selenium_proxy()

profile.set_proxy(selenium_proxy)

driver = webdriver.Firefox(firefox_profile=profile)

proxy.new_har("....")
driver.get("http:......".format(XX))

callback = proxy.har

print(json.dumps(callback, indent=4))

server.stop()
driver.close()

time.sleep(10)
...