2

在 Mac 上运行,我试图browsermob-proxy在 python-selenium 测试期间使用它来监视连接。我从这里下载了 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")

有没有办法修复这个错误并能够browsermob-proxy在 Mac 上使用?

4

2 回答 2

3

下载这个包 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 not found 错误的情况下运行。

如果您遇到 java 错误,请安装 java (sudo apt install default-jdk on ubuntu) 并重试。

于 2018-12-22T13:56:21.273 回答
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。

为我工作

于 2019-06-26T09:34:22.607 回答