2

问这个问题时,我可能看起来很幼稚。对于我们的少数测试场景,我需要检索各种 HTTP 代码。现在我知道 Selenium 不能单独完成,我们必须使用第三方资源——可能是 Browsermob 之类的代理。

有没有人已经在这方面工作了。我已经阅读了各种教程——比如这里的教程,但我似乎无法使用它来解决问题。

我使用该方法安装了 Browsermob pip,因此我将路径设置为

  from browsermobproxy import Server
  server = Server('/usr/local/lib/python3.4/dist-packages/browsermobproxy')

但是,我收到了异常

  Exception: Browsermob-Proxy binary couldn't be found in path provided: /usr/local/lib/python3.4/dist-packages/browsermobproxy 

我的问题是-有什么-我可能在这里丢失的任何文件吗?我是否需要下载任何其他文件或我的路径不正确?

4

3 回答 3

8

开始时我也对此感到有些困惑,但我假设您使用 pip 安装了 browsermobproxy 包。您还需要实际下载 browsermob-proxy 二进制文件(可在此处获得:https ://bmp.lightbody.net/),然后从您的 python 脚本中指向它。

我使用的是虚拟环境,所以我把它放在这里:

/Users/username/Envs/ScrapeProj/bin/browsermob-proxy-2.1.2/bin/browsermob-proxy

如果您收到错误消息:

Error: JAVA_HOME is not defined correctly.

在终端中运行这些命令:

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/jre/bin:$PATH
于 2016-11-08T04:26:39.027 回答
1

不确定您是否了解 browsermob-proxy-py ,它是客户端实现而不是服务器。所以你需要先安装服务器 browsermob-proxy ( https://github.com/lightbody/browsermob-proxy ) 并使用默认端口运行代理。

于 2016-02-26T17:01:13.290 回答
0

类似的问题

仔细检查您的路径、变量、安装等

您也可以尝试将实际目录添加到 PATH

echo 'export PATH=$PATH:/usr/local/lib/python3.4/dist-packages' >> ~/.bashrc

这样您就不必在服务器实例上手动指定路径 arg

from browsermobproxy import Server
server = Server()
于 2021-02-16T05:56:13.810 回答