小隐的博客

人生在世,笑饮一生
随笔 - 304, 文章 - 0, 评论 - 349, 阅读 - 50万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

通过selenium获取性能日志中的response的body

Posted on   隐客  阅读(268)  评论(0编辑  收藏  举报

selenium == 4.14.0 以下的就不支持以下设置方法 参见:详见

复制代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
import time
import json
# 设置 Chrome WebDriver 的路径
chrome_driver_path = r"E:\work\selenium\chromedriver.exe"  # 请替换成你的 Chrome 驱动程序的路径
 
 
options = webdriver.ChromeOptions()
path = Service(chrome_driver_path)
options.set_capability('goog:loggingPrefs', {'performance': 'ALL'}) # 开启日志性能监听
driver = webdriver.Chrome(service=path, options=options)
driver.get("https://www.baidu.com")
time.sleep(3)
performance_log = driver.get_log('performance')  # 获取名称为 performance 的日志
for i in range(len(performance_log)):
    message = json.loads(performance_log[i]['message'])
    message = message['message']['params']
    request = message.get('request')
    if(request is None):
        continue

    url = request.get('url')
    if(url == "https://www.baidu.com/"):
        # 通过requestId获取接口内容
        detail_response = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': message['requestId']})
    else:
        print("not:",url)
print( detail_response)
复制代码

 

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
QQ交流
点击右上角即可分享
微信分享提示