我正在尝试使用seleniumwire捕获所有网络日志。当chromedriver处于正常模式时,它能够捕获所有请求。但当它处于无头模式时,它不会捕获所有请求。
我尝试添加sleep(10)
和assert driver.last_request.response.status_code == 200
,但都没有帮助。
由于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']
)
尝试捕获的所有请求
options = {
'ignore_http_methods': [] # Capture all requests, including OPTIONS requests
}
driver = webdriver.Chrome("C:chromedriver.exe",seleniumwire_options=options)
默认情况下,它忽略OPTIONS方法