有没有办法使用Selenium Webdriver(firefox)记录http请求/响应?
我想通过代理驱动网络流量并将其记录下来是可能的,但也许有更简单的“内部”硒解决方案?
在#selenium频道上提出这个问题:
您需要代理它以捕获请求
所以,看起来只是为它设置代理的方法。
答案 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']
)
可以得到您预期的 request
和 response
。