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

如何避免Selenium调用Chromedriver时页面控制台出现警告与错误

Selenium屏蔽Chrome资源加载报错警告解决方案

配置不生效的原因

你之前的配置未生效主要有两个问题:

  • Chrome的--log-level参数不支持OFF作为有效值,正确的级别取值为0(输出所有日志)、1(仅输出INFO及以上)、2(仅输出WARNING及以上)、3(仅输出ERROR及以上)
  • 没有同步屏蔽ChromeDriver服务层的日志输出,大部分终端日志是从服务层打印的

完整可生效的配置

场景1:屏蔽Python运行终端的日志输出

该配置可以避免Selenium、ChromeDriver的相关日志打印到你的Python运行终端,适配Selenium 4版本:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
import os

# 配置Chrome浏览器启动参数
chrome_options = Options()
# 仅输出严重错误,屏蔽WARNING、普通ERROR级日志
chrome_options.add_argument("--log-level=3")
# 禁用浏览器自身的日志记录
chrome_options.add_argument("--disable-logging")
# 忽略证书、SSL相关报错警告
chrome_options.add_argument("--ignore-certificate-errors")
chrome_options.add_argument("--ignore-ssl-errors")
# 如不需要可视化界面可开启无头模式
# chrome_options.add_argument("--headless=new")

# 配置ChromeDriver服务,禁用服务日志输出
service = Service(
    executable_path=r"C:\path\to\chromedriver.exe",
    # 将日志输出到空设备,彻底屏蔽服务日志
    log_output=os.devnull
)

# 初始化浏览器实例
wd = webdriver.Chrome(service=service, options=chrome_options)
wd.get("file://path.html")

如果使用的是Selenium 3版本,可去掉Service相关配置,直接在初始化浏览器时添加参数service_log_path=os.devnull即可。


场景2:屏蔽Chrome开发者控制台内的报错警告

如果需要在打开的Chrome的F12控制台中隐藏资源加载失败类的报错,可在页面加载完成后注入脚本重写控制台输出方法,精准屏蔽目标报错:

# 页面加载完成后执行注入脚本
wd.execute_script("""
const originalError = console.error;
console.error = function(...args) {
    // 匹配资源加载失败的错误特征,仅屏蔽这类报错,不影响其他业务错误输出
    if (args[0] && typeof args[0] === 'string' && args[0].includes('Failed to load resource')) {
        return;
    }
    originalError.apply(console, args);
};
// 如需同时屏蔽警告可添加以下代码
// console.warn = () => {};
""")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:45:04