使用自定义Chrome配置文件启动ChromeDriver时出现崩溃报错问题
自定义Chrome配置文件启动ChromeDriver时出现崩溃报错问题
看起来你在尝试用自己的Chrome用户配置文件启动ChromeDriver时遇到了崩溃问题,虽然已经确保了Chrome和ChromeDriver版本匹配,但配置文件相关的细节很容易踩坑,我来帮你梳理几个常见的排查方向:
先关闭所有Chrome进程再试
当你指定--user-data-dir参数时,如果有任何Chrome实例(包括后台偷偷运行的)正在占用这个用户数据目录,ChromeDriver就会启动失败甚至崩溃。打开任务管理器,把所有chrome.exe进程都结束掉,然后重新运行代码看看。别直接用Default配置文件,复制一份测试用
你现在直接用了Chrome的默认配置文件夹Default,但这个文件夹可能被正在使用的Chrome锁定,或者里面的扩展、缓存数据和ChromeDriver的启动逻辑不兼容。建议你:- 复制
C:\Users\umair\AppData\Local\Google\Chrome\User Data下的Default文件夹,重命名为TestProfile - 然后修改代码里的配置参数:
options.add_argument(f"--profile-directory=TestProfile")
这样既保留了你的浏览器配置(书签、密码这些),又不会和正在使用的默认配置冲突。
- 复制
简化参数,排查冲突项
你的代码里加了不少参数,有些在Windows环境下不是必须的,甚至可能和配置文件启动逻辑冲突:- 先尝试移除
--remote-debugging-port=9222,这个端口可能被其他程序占用,或者干扰配置文件的加载 --no-sandbox和--disable-dev-shm-usage是Linux环境下常用的参数,Windows里可以暂时注释掉,先简化参数来定位问题
- 先尝试移除
确认ChromeDriver的路径和权限
检查chromedriver.exe的路径是否正确,当前运行代码的用户有没有权限读取这个文件。比如如果你的代码放在C盘根目录,可能需要管理员权限才能运行,你可以右键命令提示符/IDE,选择“以管理员身份运行”再试。
最后给你一份调整后的完整代码示例,你可以参考:
import time from selenium import webdriver from selenium.webdriver.chrome.service import Service # 复制后的测试配置文件 user_data_dir = r"C:\Users\umair\AppData\Local\Google\Chrome\User Data" profile_name = "TestProfile" # 替换成你复制后的配置文件夹名称 options = webdriver.ChromeOptions() options.add_argument(f"--user-data-dir={user_data_dir}") options.add_argument(f"--profile-directory={profile_name}") # 暂时注释掉非必要参数,排查问题 # options.add_argument('--no-sandbox') # options.add_argument('--disable-dev-shm-usage') # options.add_argument('--remote-debugging-port=9222') service = Service(r'.\chromedriver.exe') driver = webdriver.Chrome(options=options, service=service) # 测试启动是否成功 driver.get("https://www.google.com") print(f"浏览器标题:{driver.title}") time.sleep(3) driver.quit()
备注:内容来源于stack exchange,提问作者UmaiRIO
相关产品推荐
相关产品推荐

