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

Selenium加载Chrome个人配置文件无响应、启动报错如何解决

问题描述

使用Selenium编写Chrome自动化脚本时,尝试加载个人Chrome配置文件过程中出现以下异常:

  • 初始编写的错误代码如下:
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("user-data-dir=C:\\Users\\oacoo\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 4")

driver = webdriver.Chrome
('C:\\Users\\oacoo\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe', options=options)
  • 运行上述代码虽然能打开对应个人配置的Chrome窗口,但驱动完全不响应指令,无法执行网页搜索、XPath元素点击等常规自动化操作。
  • 本地ChromeDriver存储路径为C:\\webdrivers\\chromedriver.exe,如果将启动路径替换为该ChromeDriver路径,只能打开未登录的纯净版Chrome,个人配置文件完全不加载。
  • 如果直接把Chrome浏览器本体路径C:\\Users\\oacoo\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe作为webdriver.Chrome的启动参数,会抛出如下报错:
Traceback (most recent call last):
  File "C:\Users\oacoo\OneDrive\Desktop\bots\bot\xoldver\likesmodule\password reset\passcode.py", line 18, in <module>
    driver = webdriver.Chrome('C:\\Users\\oacoo\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe', options=options)
  File "C:\Users\oacoo\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
    self.service.start()
  File "C:\Users\oacoo\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 98, in start
    self.assert_process_still_running()
  File "C:\Users\oacoo\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 109, in assert_process_still_running
    raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: Service C:\Users\oacoo\AppData\Local\Google\Chrome\Application\chrome.exe unexpectedly exited. Status code was: 0
问题根因
  • 存在语法错误:webdriver.Chrome后多余的换行把构造函数调用拆成了两行,实际没有正确初始化驱动实例,才会出现打开浏览器但不响应指令的情况。
  • 参数传递错误:webdriver.Chrome第一个位置参数是ChromeDriver的服务路径,不是Chrome浏览器本体的路径。指定Chrome程序路径需要通过Options的binary_location属性设置,直接传Chrome路径会被当成驱动服务启动,必然报错退出。
  • 配置参数写法错误:user-data-dir参数只需要指定到User Data目录层级,具体的Profile目录需要单独通过profile-directory参数传入,直接写到Profile 4路径会导致配置读取异常。
  • 进程锁冲突:如果启动脚本时系统后台已经有打开的Chrome进程占用了目标用户配置目录,会导致配置加载失败,只能打开无配置的空白浏览器。
正确实现方案
  1. 启动脚本前必须彻底关闭所有正在运行的Chrome进程,可在任务管理器中结束所有chrome.exe进程,避免配置文件被锁无法加载。
  2. 使用如下正确代码实现配置加载:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

options = Options()
# 指定Chrome浏览器本体路径
options.binary_location = r"C:\Users\oacoo\AppData\Local\Google\Chrome\Application\chrome.exe"
# 指定用户数据根目录
options.add_argument(r"user-data-dir=C:\Users\oacoo\AppData\Local\Google\Chrome\User Data")
# 指定具体要加载的配置目录
options.add_argument("--profile-directory=Profile 4")
# 关闭自动化标识,避免被网站检测、减少功能冲突
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)

# 通过Service类传入ChromeDriver路径
service = Service(executable_path=r"C:\webdrivers\chromedriver.exe")
driver = webdriver.Chrome(service=service, options=options)

# 测试驱动是否正常响应
driver.get("https://www.google.com")
  1. 其他注意事项:
  • 确保本地ChromeDriver版本和安装的Chrome浏览器大版本完全对应,否则会出现兼容性报错。
  • 脚本运行过程中不要手动打开同配置的Chrome窗口,会触发配置目录锁导致脚本异常退出。
  • Windows路径字符串前加r前缀可以避免反斜杠转义问题,不需要手动写双反斜杠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 07:51:24