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 在这方面做得很好,但仅适用于页面的基本元素(例如,它不会等待 flash) 无论如何,只要有内容加载,我希望我的脚本留在页面上。最好的办法是只监控页面的流量,但我可以假设没有其他东西正在使用我的计算机上的网络。

我看到了三种方法:

  • 使用硒来监控流量,但根据我的经验和研究,我认为这是不可能的
  • 使用一些脚本来监控流量(iftop,ntop)以获取流量使用情况,对其进行 grep 处理,然后对其执行条件
  • 使用 Tshark/Tcpdump 捕获流量,分析输出(文件大小):如果文件大小发生变化,则表示有流量。(这是可能的,但一点都不好......)

没有一个解决方案有效或完全适合我的需求,你知道吗?

4

1 回答 1

1

您可以通过代理路由您的流量。看看Browsermob,至少 java 绑定有waitForNetworkTrafficToStop方法。

于 2013-10-29T19:51:15.630 回答