【问题标题】:Installing Browsermob proxy for getting HTTP codes安装 Browsermob 代理以获取 HTTP 代码
【发布时间】:2016-02-08 19:58:26
【问题描述】:

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

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

我使用 pip 方法安装了 Browsermob,因此我将路径指定为

  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 

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

【问题讨论】:

    标签: python proxy browsermob-proxy


    【解决方案1】:

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

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

    /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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        类似question

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

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

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

        这样您就不必手动指定服务器实例上的路径参数

        from browsermobproxy import Server
        server = Server()
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-06
          • 1970-01-01
          • 1970-01-01
          • 2016-09-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-24
          相关资源
          最近更新 更多