嘗試在 Python 中使用帶有 selenium 的 browsermob-proxy 獲取一堆 url 的 HAR 文件。對于基本實現,我使用Browsermob 文檔中的示例代碼。我的代碼如下from browsermobproxy import Serverimport psutilimport timeserver = Server(“/path/to/bin/browsermob-proxy")server.start()proxy = server.create_proxy()from selenium import webdriverprofile = webdriver.FirefoxProfile()profile.set_proxy(proxy.selenium_proxy())driver = webdriver.Firefox(firefox_profile=profile)proxy.new_har(“google”) driver.get("http://www.google.com")print(proxy.har) #ISSUE IN THIS LINEserver.stop()driver.quit()我能夠初始化 browsermob-proxy,并讓 selenium 在 firefox(和 chrome)上打開頁面。當它到達“proxy.har”行時,它會拋出一個 JSONDecodeError: Expecting value: line 1 column 1 (char 0)下面的錯誤跟蹤JSONDecodeError Traceback (most recent call last)<ipython-input-2-f690bb4c2c08> in <module>()----> 1 proxy.har~/anaconda3/lib/python3.6/site-packages/browsermobproxy/client.py in har(self) 102 r = requests.get('%s/proxy/%s/har' % (self.host, self.port)) 103 --> 104 return r.json() 105 106 def new_har(self, ref=None, options=None, title=None):~/anaconda3/lib/python3.6/site-packages/requests/models.py in json(self, **kwargs) 890 # used. 891 pass--> 892 return complexjson.loads(self.text, **kwargs) 893 894 @property我已經嘗試了很多方法來解決此問題,但無法使其正常工作GET 請求返回 200嘗試了一些 json 函數來加載或解析為 utf-8 或去除無效字符試過 simplejson嘗試更改 browsermob 端口在不同的網絡上嘗試,以防阻止是由代理設置引起的無論我嘗試什么,我都會遇到同樣的錯誤。我最初認為問題出在我的安裝上。我是這樣做的:使用 pip3 安裝硒(使用 python 3.6 和 Jupyter/iPython)從https://bmp.lightbody.net/下載 browsermob 二進制文件下載 geckodriver在 /bin 中使用 ./browsermob-proxy 啟動代理,并嘗試使用 -port 選擇端口任何人都遇到過類似的問題,他們使用上述問題以外的任何方法解決了這些問題?
添加回答
舉報
0/150
提交
取消