You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome浏览器Selenium获取performance日志报错及无日志问题求助

解决Chrome性能日志读取报错及无日志问题

问题分析

更新依赖后出现invalid argument: log type 'performance' not found错误,配置goog:perfLoggingPrefs仍无法读取日志,核心原因是Chrome 114+版本与Selenium/undetected-chromedriver的配置逻辑不兼容——直接传递desired_capabilities参数会被undetected-chromedriver忽略,且性能日志的启用需要通过实验性选项同时配置多个参数。

解决方案

修改代码中Chrome选项的配置方式,通过add_experimental_option直接在ChromeOptions中设置日志偏好,无需单独传递desired_capabilities参数:

import json
import time

import undetected_chromedriver as uc
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager  


class Network:

    def __init__(self):
        opts = uc.ChromeOptions()
        opts.add_argument("--disable-blink-features=AutomationControlled")
        opts.add_argument("--ignore-certificate-errors")
        opts.add_argument(f"--user-agent=Lynx: Lynx/2.8.8pre.4 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.23")
        
        # 关键配置:通过实验性选项启用性能日志
        opts.add_experimental_option('perfLoggingPrefs', {
            'enableNetwork': True,
            'enablePage': False
        })
        opts.add_experimental_option('goog:loggingPrefs', {
            'performance': 'ALL'
        })

        self.driver = uc.Chrome(
            service=Service(ChromeDriverManager().install()), 
            options=opts
        )

    def get_log(self):
        self.driver.get("https://streamingcommunity.codes/watch/4826")
        time.sleep(15)  # 等待页面加载完成
        try:
            logs = self.driver.get_log("performance")
            if not logs:
                print("未获取到性能日志,请检查Chrome版本与驱动兼容性")
            for log in logs:
                message = json.loads(log["message"])["message"]
                if "Network.responseReceived" == message["method"]:
                    url = message['params']['response']['url']
                    print(url)
        except Exception as e:
            print(f"读取日志时出错:{str(e)}")
        finally:
            self.driver.quit()


network = Network()
network.get_log()

额外注意事项

  • 确保undetected-chromedriver版本适配Chrome 114:可执行pip install --upgrade undetected-chromedriver==3.5.3(该版本稳定适配Chrome 114)
  • 禁止同时传递desired_capabilities和options参数:undetected-chromedriver优先读取options中的配置,单独传递的desired_capabilities会被覆盖
  • 若仍无日志输出,可尝试添加--disable-web-security参数(仅测试环境使用),部分Chrome安全策略会限制性能日志采集

内容的提问来源于stack exchange,提问作者ghost239

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 21:20:22