selenium 获取网页所有请求
使用 Selenium Wire
如果需要捕获 HTTP 请求,可以使用 selenium-wire 库,它扩展了 Selenium 的功能,允许拦截和查看网络请求。
示例代码:
from seleniumwire import webdriver
# 初始化 Selenium Wire WebDriver
driver = webdriver.Chrome()
# 打开目标网页
driver.get("https://www.example.com")
# 获取所有网络请求
for request in driver.requests:
print(request.url)
print(request.header)
driver.quit()
错误分析:
selenium-wire缺少blinker1.7.0库依赖,因此需要安装blinker1.7.0
另一种方法是通过 Chrome DevTools 协议获取性能日志。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_experimental_option('w3c', False)
driver = webdriver.Chrome(options=options)
driver.get('http://example.com')
logs = driver.execute_cdp_cmd('Performance.getMetrics', {})
print(logs)

浙公网安备 33010602011771号