有没有办法使用Selenium Webdriver(firefox)记录http请求/响应?

时间:2012-08-20 07:53:59

标签: python selenium webdriver

有没有办法使用Selenium Webdriver(firefox)记录http请求/响应?

我想通过代理驱动网络流量并将其记录下来是可能的,但也许有更简单的“内部”硒解决方案?

在#selenium频道上提出这个问题:

  
    
      

您需要代理它以捕获请求

    
  

所以,看起来只是为它设置代理的方法。

2 个答案:

答案 0 :(得分:3)

不,WebDriver没有任何方法来检查或修改浏览器和网站之间发生的HTTP流量。您从Selenium IRC频道(甚至可能来自Selenium提交者)获得的信息是正确的。代理是正确的方法。

答案 1 :(得分:1)

现在是 2021 年,答案是:

您可以使用新的库:selenium-wire

如何使用selenium-wire

安装

pip install selenium-wire

更改代码

更改自

from selenium import webdriver

from seleniumwire import webdriver

添加代码

driver.get(yourUrl) 之后,添加:

# Access requests via the `requests` attribute
for request in driver.requests:
    if request.response:
        print(
            request.url,
            request.response.status_code,
            request.response.headers['Content-Type']
        )

可以得到您预期的 requestresponse