2

これを尋ねると、私は素朴に見えるかもしれません。いくつかのテスト シナリオでは、さまざまな HTTP コードを取得する必要があります。Selenium だけではできないことがわかりました。サードパーティのリソースを使用する必要があります。Browsermob のようなプロキシである可能性があります。

すでにこれに取り組んでいる人はいますか。hereのようなさまざまなチュートリアルを実行しましたが、これを使用して回避できないようです。

メソッドを使用して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

この方法では、サーバー インスタンスでパス引数を手動で指定する必要はありません。

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