ChromeDriver中Selenium Headless模式失效问题排查
无头模式未生效的排查与解决
以下是几种常见原因及对应解决方案:
Options实例化错误
你已经导入了from selenium.webdriver.chrome.options import Options,但代码中却用webdriver.ChromeOptions()创建实例。这种写法要么会因未导入selenium.webdriver报错,要么会导致参数未正确绑定到配置对象中。
修正代码:options = Options() options.add_argument("--headless=new")Chrome与ChromeDriver版本不匹配
--headless=new是Chrome 112及以上版本才支持的新无头参数。如果你的Chrome版本低于112,或者ChromeDriver版本和Chrome主版本不一致,该参数会被忽略,浏览器将以正常窗口启动。
解决:- 升级Chrome至最新稳定版
- 下载与Chrome版本完全匹配的ChromeDriver(主版本号必须一致,例如Chrome是120.0.6099.109,ChromeDriver也需对应120.x版本)
额外参数或代码覆盖配置
检查后续代码是否添加了覆盖无头模式的参数,或者是否重新初始化了options对象。比如误加--start-fullscreen这类强制显示窗口的参数,会导致无头设置失效。环境兼容性参数缺失
部分系统环境下,需要补充额外参数才能让无头模式正常运行:# 针对部分旧环境或Linux系统添加 options.add_argument("--disable-gpu") options.add_argument("--no-sandbox")
内容的提问来源于stack exchange,提问作者Nnatee
相关产品推荐
相关产品推荐

