如何解决"无法连接到Browsermob-Proxy"在Mac上?

时间:2018-01-17 13:55:36

标签: python browsermob-proxy

在mac上运行我试图在python-selenium测试期间使用browsermob-proxy监视连接。我从here下载了java实现2.1.4,并且pip安装了python包装器(browsermobproxy)。完整的示例代码在这里(以下示例发现了很多):

from browsermobproxy import Server
server = Server("/Users/adietz/Projects/Invest/browsermob/browsermob-proxy-2.1.4/browsermob-dist/src/main/scripts/browsermob-proxy")
server.start()
proxy = server.create_proxy()

from selenium import webdriver
profile  = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)


proxy.new_har("google")
driver.get("http://www.google.co.in")
proxy.har

server.stop()
driver.quit()

但是当使用python 3.6.2运行此代码时会出现以下错误:

Traceback (most recent call last):
  File "tester1.py", line 3, in <module>
    server.start()
  File "/Users/adietz/Projects/Invest/browsermob/browsermob/lib/python3.6/site-packages/browsermobproxy/server.py", line 127, in start
    raise ProxyServerError("Can't connect to Browsermob-Proxy")

有没有办法解决此错误,并且能够在Mac上使用browsermob-proxy

2 个答案:

答案 0 :(得分:1)

下载此软件包 https://bmp.lightbody.net/ 放在某个地方(也许在pycharm项目的bin文件夹中)。 代理的路径是这样的

/home/andrea/PycharmProjects/selenium-performances/venv/bin/browsermob-proxy-2.1.4-bin/browsermob-proxy-2.1.4/bin/browsermob-proxy

,但是如果未安装Java,则可以获得“无法连接到Browsermob-Proxy”错误,

尝试运行./browsermob-proxy,代理应该能够在没有退出的情况下运行,因为找不到Java错误。

如果遇到Java错误,请安装Java(在ubuntu上安装sudo apt install default-jdk),然后重试。

答案 1 :(得分:1)

 BrowserMobProxy proxyBrowser = new BrowserMobProxyServer();
    proxyBrowser.start(0);
    Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxyBrowser);

    seleniumProxy.setHttpProxy("localhost:"+proxyBrowser.getPort());
    seleniumProxy.setSslProxy("localhost:"+proxyBrowser.getPort());

您需要添加setHttpProxy和setSslProxy。

为我工作