使用Selenium运行无头Chrome时出现Passthrough不支持报错如何解决?
问题解决方案
你遇到的Passthrough is not supported, GL is swiftshader属于Chrome无头模式下的GPU渲染类非致命警告,本身不会阻断Selenium自动化逻辑的正常运行,仅为内核日志输出,如需消除该报错可以通过补充Chrome启动参数实现。
具体操作步骤
- 保留现有配置的基础上,新增适配参数即可:
- 新增
--disable-software-rasterizer参数:禁用软件光栅化逻辑,直接规避swiftshader渲染相关报错 - 新增
--disable-gl-drawing-for-tests参数:关闭测试场景下的GL绘制调用,适配win32环境的无头运行场景 - 将原有
--headless替换为--headless=new:使用Chrome新版无头模式实现,兼容性和稳定性优于旧版参数,Chrome 94版本已支持该配置
- 新增
修改后的完整配置代码
from selenium import webdriver import chromedriver_binary chrome_options = webdriver.ChromeOptions() # 替换为新版无头模式参数 chrome_options.add_argument("--headless=new") chrome_options.add_argument("--disable-gpu") # 新增消错参数 chrome_options.add_argument("--disable-software-rasterizer") chrome_options.add_argument("--disable-gl-drawing-for-tests") chrome_options.add_argument("window-size=1024,768") chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-extensions") driver = webdriver.Chrome(options=chrome_options)
补充说明
如果调整参数后仍有该日志输出也无需额外处理,该日志不会影响页面加载、元素操作等核心自动化功能的正常执行,只要driver实例可以正常创建、后续操作无报错即可正常使用。
内容的提问来源于stack exchange,提问作者peterweibbb
相关产品推荐
相关产品推荐

