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

Python中Selenium无头Chrome错误使用用户配置文件问题

Selenium无头Chrome无法指定Profile 1的解决方案

问题背景

使用Python Selenium启动无头Chrome时,指定Profile 1失败,脚本自动加载Default配置;关闭--headless参数后则能正常使用Profile 1。已尝试调整参数顺序、添加--no-sandbox,且Chrome与ChromeDriver版本为最新匹配状态。

当前使用的驱动配置代码:

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--single-process")
chrome_options.add_argument("--user-data-dir=C:\\Users\\Me\\AppData\\Local\\Google\\Chrome\\User Data")
chrome_options.add_argument('--profile-directory=Profile 1')
chrome_options.add_argument('--log-level=3')
chrome_options.add_argument("--window-size=1920,1080")
driver = webdriver.Chrome(options=chrome_options)
driver.get(...)

解决办法

1. 切换至新版无头模式

旧版--headless模式的底层实现与正常Chrome存在差异,改用新版无头参数可修复Profile识别问题:

chrome_options = Options()
# 替换旧的--headless参数
chrome_options.add_argument("--headless=new")
chrome_options.add_argument("--single-process")
chrome_options.add_argument("--user-data-dir=C:\\Users\\Me\\AppData\\Local\\Google\\Chrome\\User Data")
chrome_options.add_argument('--profile-directory=Profile 1')
chrome_options.add_argument('--log-level=3')
chrome_options.add_argument("--window-size=1920,1080")
driver = webdriver.Chrome(options=chrome_options)
driver.get(...)

新版无头模式(Chrome 112+支持)的行为与正常窗口模式几乎一致,能更好地兼容用户Profile配置。

2. 为无头模式使用独立Profile目录

将Profile 1复制到独立的用户数据目录,避免与Default目录的潜在冲突:

  1. 创建新的独立目录,例如 C:\\Chrome_Headless_Profiles
  2. 复制原路径C:\\Users\\Me\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 1下的所有文件到新目录中
  3. 修改脚本参数:
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--single-process")
# 指定新的用户数据根目录
chrome_options.add_argument("--user-data-dir=C:\\Chrome_Headless_Profiles")
# 指向复制后的Profile文件夹
chrome_options.add_argument('--profile-directory=Profile 1')
chrome_options.add_argument('--log-level=3')
chrome_options.add_argument("--window-size=1920,1080")
driver = webdriver.Chrome(options=chrome_options)
driver.get(...)

3. 彻底清理Chrome后台进程

即使关闭了Chrome窗口,后台可能残留进程导致Profile加载异常:

  • 打开任务管理器,结束所有chrome.exe和chromedriver.exe进程
  • 重新运行脚本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:02:33