Python使用Selenium ChromeDriver时出现metrics相关报错如何解决?
报错原因
你看到的这些日志不属于阻断程序运行的致命错误,是Chrome内置的用户行为统计模块输出的非必要警告。Chrome启动时默认会主动检查蓝牙可用性、系统默认浏览器设置等环境信息,这类检查在自动化测试场景下无实际作用,对应打印的日志属于冗余输出,不会导致脚本功能异常,仅会污染控制台输出内容。
修复方案
- 直接添加Chrome启动参数屏蔽冗余日志,在你现有的Options配置中新增以下参数即可清理这类输出:
# 禁用蓝牙功能,跳过蓝牙状态检查 options.add_argument('--disable-bluetooth') # 跳过默认浏览器设置检查 options.add_argument('--no-default-browser-check') # 调整日志输出级别,仅打印严重错误 options.add_argument('--log-level=3') # 关闭日志输出 options.add_argument('--disable-logging')
- 修正代码中的过时API写法,避免后续出现兼容性报错:
你当前使用的executable_path、chrome_options两个参数在Selenium 4.0及以上版本已经被官方弃用,建议替换为Service类和标准options参数,修正后的完整代码如下:
from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from selenium import webdriver options = Options() options.add_argument('--disable-gpu') options.add_argument('--disable-dev-shm-usage') # 新增屏蔽冗余日志的参数 options.add_argument('--disable-bluetooth') options.add_argument('--no-default-browser-check') options.add_argument('--log-level=3') options.add_argument('--disable-logging') # 使用Service类指定chromedriver路径 service = Service(executable_path="C:\\chromedriver.exe") self.site = webdriver.Chrome(service=service, options=options) self.site.get("https://sgite.com/en/site/")
- 补充排查:如果你的脚本除了日志输出外还存在启动失败、闪退等问题,优先核对本地安装的Chrome浏览器大版本和chromedriver大版本是否完全一致,两者版本不匹配是最常见的ChromeDriver启动失败原因。
内容的提问来源于stack exchange,提问作者saeed shiroo
相关产品推荐
相关产品推荐

