在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
?
答案 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。
为我工作