Windows系统下Selenium如何启动Chrome无头模式?配置后仍弹出窗口怎么解决?
核心问题
你配置完成的chrome_options没有传入webdriver.Chrome()初始化方法,无头模式参数未被驱动读取,因此浏览器以正常实体窗口启动。
修复后代码
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options chrome_options = Options() # Chrome 112+ 推荐使用新版无头参数,向下兼容旧写法 chrome_options.add_argument("--headless=new") chrome_options.add_argument("--disable-gpu") # Windows路径添加r前缀避免反斜杠转义异常 driver_service = Service(r"drivers\chromedriver.exe") # 新增options参数传入配置项 driver = webdriver.Chrome(service=driver_service, options=chrome_options) driver.get("https://www.google.com/") print(driver.page_source) # 运行结束主动销毁驱动进程 driver.quit()
其他可能的排查点
- 版本匹配问题:Chrome浏览器和chromedriver的大版本号必须一致,差异超过1个大版本会出现参数不兼容导致无头模式失效
- 无头参数适配问题:Chrome 96-111版本建议使用
--headless=chrome参数,112及以上版本使用--headless=new,旧版--headless参数兼容性尚可但部分场景会出现功能异常 - 驱动路径问题:未加r前缀的Windows路径可能因反斜杠转义导致驱动加载失败,间接引发配置不生效问题
内容的提问来源于stack exchange,提问作者Gondamar
相关产品推荐
相关产品推荐

