1

我正在尝试使用seleniumwire捕获所有网络日志。当 chromedriver 处于正常模式时,它能够捕获所有请求。但是当它处于无头模式时,它不会捕获所有请求。

我尝试添加sleep(10)assert driver.last_request.response.status_code == 200 但都没有帮助。

由于seleniumwire不是那么受欢迎,我在下面添加了一个示例指南,希望让有硒知识的人尝试帮助我解决问题。

使用 seleniumwire

安装硒线

pip install seleniumwire

示例脚本:

from seleniumwire import webdriver  # Import from seleniumwire

# Create a new instance of the Chrome driver
driver = webdriver.Chrome()

# Go to the YouTube homepage.
driver.get('https://www.youtube.com')

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

2 回答 2

0

尝试捕获所有请求

options = {
'ignore_http_methods': []  # Capture all requests, including OPTIONS requests
}
driver = webdriver.Chrome("C:\chromedriver.exe",seleniumwire_options=options)

默认情况下它忽略 OPTIONS 方法

于 2021-09-22T03:55:56.303 回答
-1

当 selenium 打开 chrome 浏览器时,它使用自己的配置文件,而不是默认的配置文件。尝试使用自定义配置文件,对于 chrome,您可以使用 ChromeOptions 类使用自定义配置文件并尝试。

于 2018-11-13T09:11:19.950 回答