Python与Selenium:如何忽略Chromedriver的shader_cache相关日志错误?
如何忽略Python Selenium中Chromedriver的
NOT IMPLEMENTED错误日志 这个platform_sensor_reader_win.cc报出的NOT IMPLEMENTED错误是Windows平台上Chromedriver的常见无害问题——本质是Chrome尝试访问系统传感器API但该功能未实现,完全不会影响你的脚本运行。下面是几种简单的方法来屏蔽这些占空间的冗余日志:
方法1:将ChromeDriver和浏览器输出重定向到空设备
这是最直接有效的方法,能彻底屏蔽这类错误信息:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options import os import sys # 配置Chrome选项 chrome_options = Options() # 可选:降低整体日志冗余度 chrome_options.add_argument('--log-level=3') # 根据系统选择空设备路径 null_device = 'nul' if sys.platform.startswith('win32') else '/dev/null' # 创建服务并将标准错误输出定向到空设备 service = Service() service.stderr = open(null_device, 'w') # 初始化驱动 driver = webdriver.Chrome(service=service, options=chrome_options)
方法2:调整Chrome内部日志级别
虽然该错误标记为ERROR,但设置更严格的日志级别可以减少整体日志量(部分情况下可能仍会显示该错误,但能过滤大部分冗余信息):
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 设置日志级别为仅显示致命错误(级别4) chrome_options.add_argument('--log-level=4') driver = webdriver.Chrome(options=chrome_options)
方法3:使用excludeSwitches禁用特定日志组件
结合日志级别调整,通过排除特定调试开关来减少内部日志输出:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--log-level=3') # 排除日志相关的调试开关 chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) driver = webdriver.Chrome(options=chrome_options)
提示:方法1是屏蔽这类
NOT IMPLEMENTED错误最可靠的方式,因为它直接将浏览器的标准错误输出定向到空设备,完全不会出现在你的控制台或日志文件中。
内容的提问来源于stack exchange,提问作者Ogden
相关产品推荐
相关产品推荐

