python - 如何修复 "Can' t 连接到 Mac 上的 Browsermob-Proxy"?

标签 python browsermob-proxy

在 Mac 上运行时,我尝试使用 browsermob-proxy 来监视 python-selenium 测试期间的连接。我从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

最佳答案

下载这个包 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 find 错误而退出。

如果出现 java 错误,请安装 java(在 ubuntu 上使用 sudo apt install default-jdk)并重试。

关于python - 如何修复 "Can' t 连接到 Mac 上的 Browsermob-Proxy"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48302839/

相关文章:

Java:更改外部库 Maven 依赖项的日志级别

python - 将 SSL 证书添加到 Selenium

python-2.7 - HAR 响应中没有 header

java - Selenium 与 BrowserMob 代理

python - celery :任务层次结构后的回调

python - 在 Python 中为低指数强制 'general' 字符串格式

python - 运行时错误 : CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasSgemm( handle)` with GPU only

Python: `validators.url`不接受1-9的端口号,但接受大于65535的端口?

python - 使用 Crossbar/Autobahn 用于用户通知的身份验证?

node.js - har 文件问题 browsermob-proxy 与 webdriverio