1

Python に Selenium スクリプトがあり、これを実行したい (疑似コード)

open www.example.com
while traffic usage hasn't been 0 during the last 3 seconds:
        wait 3 seconds
print "everything is loaded"

Seleniumはそれを非常にうまく行いますが、ページの基本的な要素のみを使用します(たとえば、フラッシュを待ちません)とにかく、何かがロードされている限り、スクリプトをページにとどめておきたいです。ページのトラフィックのみを監視するのが最善ですが、コンピューターでネットワークを使用しているものは他にないと想定できます。

私はそれを行う3つの方法を見ます:

  • セレンを使用してトラフィックを監視していますが、私の経験と私の研究から言われるように、それは不可能だと思います
  • スクリプトを使用してトラフィックを監視し (iftop、ntop)、トラフィックの使用状況を取得し、grep して条件を実行します。
  • Tshark/Tcpdump でトラフィックをキャプチャし、出力 (ファイルのサイズ) を分析します。ファイル サイズが変化した場合は、トラフィックがあることを意味します。(それは可能ですが、まったく良くありません...)

私のニーズに完全に適合する解決策はありません。

4

1 に答える 1

1

プロキシ経由でトラフィックをルーティングできます。Browsermobを見てください。少なくとも Java バインディングにはwaitForNetworkTrafficToStopメソッドがあります。

于 2013-10-29T19:51:15.630 に答える