我正在尝试使用 seleniumwire 捕获所有网络日志。当 chromedriver 处于正常模式时,它能够捕获所有请求。但当它处于 headless 模式时,它不会捕获所有请求。
我尝试添加sleep(10)
,assert driver.last_request.response.status_code == 200
但都没有帮助。
由于 seleniumwire
不是那么受欢迎,我在下面添加了一个示例指南,希望让了解 selenium 的人尝试帮助我解决问题。
使用 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']
)
try catch 所有请求
options = {
'ignore_http_methods': [] # Capture all requests, including OPTIONS requests
}
driver = webdriver.Chrome("C:\chromedriver.exe",seleniumwire_options=options)
默认情况下它会忽略 OPTIONS 方法
我是一名优秀的程序员,十分优秀!