如何在python中捕获流量

如何在python中捕获流量,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我有一个使用selenium的webdriver,它可以为我打开一个浏览器,将它指向一个ip地址,执行一系列操作,然后关闭 我想知道在此期间访问的所有URL。也就是说,加载的任何广告,对任何url进行的任何css调用,等等 这是我使用的代码 from selenium import webdriver browser = webdriver.Firefox(profile) # Get local session of firefox browser.get(url) # Open a url

我有一个使用selenium的webdriver,它可以为我打开一个浏览器,将它指向一个ip地址,执行一系列操作,然后关闭

我想知道在此期间访问的所有URL。也就是说,加载的任何广告,对任何url进行的任何css调用,等等

这是我使用的代码

from selenium import webdriver

browser = webdriver.Firefox(profile) # Get local session of firefox
browser.get(url) # Open a url and wait for it to finish

我是通过加载firefox插件Firebug和Netexport来实现的。第一个工具允许您查看所有信息交换,第二个工具允许将所有信息写入文件(.har扩展名)。因此,基本上selenium必须加载插件、网站并等待您想要的时间,当它关闭时,您会得到一个包含结果的文件。

这不是python解决方案。。但是你可以在Firefox中添加fiddler插件。大约一年前,我们需要做完全相同的事情。我们使用selenium打开浏览器和所有UI内容,在后台Fiddler捕获所有流量(http和https)。。这还列出了所有JS CSS src,您可以稍后使用inspector进行调试,查看发送了什么请求,收到了什么响应

我认为这是重复的(尽管我不确定它是否提供了您想要的所有信息)。也可能相关:它的关闭。但我需要web驱动程序来捕获流量:(@MarkAmery-hmm,看起来你链接的帖子(stackoverflow.com/questions/3712278)使用了Selenium v1.scripto,我很好奇如何在Selenium v2中监控网络流量。(代理服务器可以工作,但找到一个内置于Selenium v2中的解决方案会很棒)