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

Selenium启动多Chrome自定义配置文件异常问题求助

解决Selenium启动多个Chrome自定义配置文件失败的问题

我想用Selenium启动多个Chrome自定义配置文件执行任务,写了如下代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 指定Chrome配置文件路径
profile1_path = "C:\Users\Administrator\AppData\Local\Google\Chrome\User Data"
profile2_path = "C:\Users\Administrator\AppData\Local\Google\Chrome\User Data"

# 为每个配置文件设置选项
options1 = webdriver.ChromeOptions()
options1.add_argument("--user-data-dir=" + profile1_path)
options1.add_argument('--profile-directory=Profile 41')

options2 = webdriver.ChromeOptions()
options2.add_argument("--user-data-dir=" + profile2_path)
options2.add_argument('--profile-directory=Profile 42')

# 启动第一个浏览器实例
driver1 = webdriver.Chrome(options=options1)
driver1.get("https://www.google.com")

# 启动第二个浏览器实例
driver2 = webdriver.Chrome(options=options2)
driver2.get("https://www.google.com")

运行时第一个配置文件正常工作,但第二个配置文件启动后无法访问Google,报错信息:

错误信息:未知错误:Chrome启动失败:正常退出。(未知错误:DevToolsActivePort文件不存在)(从路径C:\Program Files\Google\Chrome\Application\chrome.exe启动的进程已不再运行,因此ChromeDriver认为Chrome已崩溃。)


解决方法

1. 为每个实例指定独立调试端口

共享同一个user-data-dir启动多实例时,必须分配不同的调试端口,避免端口冲突。在每个ChromeOptions中添加--remote-debugging-port参数:

options1.add_argument("--remote-debugging-port=9222")
options2.add_argument("--remote-debugging-port=9223")

2. 添加内存优化参数

添加--disable-dev-shm-usage解决部分环境下内存不足导致的崩溃问题:

options1.add_argument("--disable-dev-shm-usage")
options2.add_argument("--disable-dev-shm-usage")

3. 清理后台Chrome进程

启动前关闭所有Chrome窗口及后台进程,防止配置文件被占用。

完整修正代码

from selenium import webdriver

# 统一配置文件根路径
user_data_dir = "C:\Users\Administrator\AppData\Local\Google\Chrome\User Data"

# 配置第一个实例
options1 = webdriver.ChromeOptions()
options1.add_argument(f"--user-data-dir={user_data_dir}")
options1.add_argument('--profile-directory=Profile 41')
options1.add_argument("--remote-debugging-port=9222")
options1.add_argument("--disable-dev-shm-usage")

# 配置第二个实例
options2 = webdriver.ChromeOptions()
options2.add_argument(f"--user-data-dir={user_data_dir}")
options2.add_argument('--profile-directory=Profile 42')
options2.add_argument("--remote-debugging-port=9223")
options2.add_argument("--disable-dev-shm-usage")

# 启动浏览器实例
driver1 = webdriver.Chrome(options=options1)
driver1.get("https://www.google.com")

driver2 = webdriver.Chrome(options=options2)
driver2.get("https://www.google.com")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 03:52:54