我使用硒3.0.2和browsermob代理0.7.1捕獲網絡數據。我得到的只是一個空的JSON。我的代碼是:帶有硒的Browsermob代理生成空輸出
server = Server("/Users/dev/Downloads/browsermob-proxy-2.1.2/bin/browsermob-proxy")
server.start()
proxy = server.create_proxy()
if browser is None:
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.privatebrowsing.autostart", True)
browser = webdriver.Firefox(firefox_profile=profile, proxy=proxy.selenium_proxy())
proxy.new_har("google", options={'captureHeaders': True, 'captureContent': True})
browser.get("https://google.com/")
print(proxy.har)
我得到的是這樣的空JSON
{ '登錄':{ '頁':[{ 'ID': '谷歌', '評論': '' ,'pageTimings': {'comment':''},'startedDateTime':'2016-12-01T14:23:24.984-05:00', 'title':'google'}],'entries': '','version':'1.2','creator': {'comment':'','name':'BrowserMob Proxy','version':'2.1.2'}, 'comment':' '}}
我也很想知道這個問題的答案!我認爲HAR是空的,因爲代理並沒有真正被使用。 對於http(而不是https)網站,我可以通過使用以下代碼來工作: 'profile.set_proxy(proxy.selenium_proxy())' 代替傳入代理對象,但是'set_proxy'方法已棄用... 對於HTTPS,我認爲這個問題也是相關的:https://bugzilla.mozilla.org/show_bug.cgi?id = 1103196 – user3468054
頁面在瀏覽器中是否成功加載?由於您收到一個空的HAR,這意味着代理已啓動,但代理沒有看到任何請求。 –