3

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

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

在#selenium 频道上问了这个问题:

你需要代理它来捕获请求

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

4

2 回答 2

3

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

于 2012-08-20T10:30:41.603 回答
2

现在是 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

于 2021-07-22T08:31:50.827 回答