4

我正在使用 selenium 3.0.2 和 browsermob 代理 0.7.1 来捕获网络数据。我得到的只是一个空的 JSON。我的代码是:

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

{'log': {'pages': [{'id': 'google', 'comment': '', 'pageTimings': {'comment': ''}, 'startedDateTime': '2016-12-01T14 :23:24.984-05:00', 'title': 'google'}], 'entries': [], 'version': '1.2', 'creator': {'comment': '', 'name' :'BrowserMob 代理','版本':'2.1.2'},'评论':''}}

4

5 回答 5

0

我最近更改代码时预计会出现同样的问题。尝试将代理添加到配置文件中,而不是 webdriver 本身。它已被弃用,但它对我有用。

profile.set_proxy(proxy.selenium_proxy())
browser = webdriver.Firefox(firefox_profile=profile)
于 2019-11-07T08:40:31.867 回答
0

我怀疑这是由这个问题中相同的GeckoDriver 错误/缺失功能引起的:GeckoDriver 目前不支持 ChromeDriver 和旧 FirefoxDriver 支持的“代理”所需功能。

在 GeckoDriver/Marionette 更新之前,您可以通过直接在 Firefox 配置文件上设置代理值来解决此问题。配置文件上的相关代理字段是:

  • network.proxy.http
  • network.proxy.http_port
  • 网络代理.ssl
  • network.proxy.ssl_port
  • network.proxy.type(设置为 1,“手动”)

BrowserMob 代理有一个测试显示如何在 Java 中执行此操作。应该很容易将其转换为 Python 等价物,因为您已经有一个 firefox_profile 对象。

于 2016-12-29T06:00:52.723 回答
0

你试过改变

这个:

server = Server("/Users/dev/Downloads/browsermob-proxy-2.1.2/bin/browsermob-proxy") 

对此:

server = Server("/Users/dev/Downloads/browsermob-proxy-2.1.2/bin/browsermob-proxy.bat")

您需要在 BrowserMob 服务器路径的末尾包含文件扩展名 (.bat) 才能正常工作:)

于 2016-12-12T15:40:14.060 回答
0

试试这个 cmd 也许可以解决你的问题:

yum install -y google-chrome-stable

于 2020-07-17T13:22:08.860 回答
0

1.Browser mob 0.7.1 不支持 SSL 拦截 https 站点。
2.根据您的问题,我观察到您提供了 https URL,尝试使用 browsermob 2.1.2 及更高版本
3. 在您要拦截网络的设备中安装 SSL 证书(SSL 证书在您下载的 browsermob 代理 .zip 文件中可用)。
4. 如果问题没有解决,请通知我,我会深入研究导致问题的其他事情。

于 2017-05-16T17:53:29.613 回答