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

ale*_*_ch 5 python selenium webdriver

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

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

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

您将需要代理它来捕获请求

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

cri*_*fan 6

现在是 2021 年,答案是:

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

如何使用selenium-wire

安装

pip install selenium-wire

更改代码

改变自

from selenium import webdriver
Run Code Online (Sandbox Code Playgroud)

from seleniumwire import webdriver
Run Code Online (Sandbox Code Playgroud)

添加您的代码

之后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']
        )
Run Code Online (Sandbox Code Playgroud)

可以得到你的预期requestresponse