VBA调用ChromeDriver启动时遇DevToolsActivePort文件不存在错误求助
调用ChromeDriver.Start时出现SessionNotCreatedError(DevToolsActivePort文件不存在)
自2025年5月9日起,多台电脑上运行VBA代码调用.Start方法时突然报错,此前代码一直正常运行:
SessionNotCreatedError
session not created: DevToolsActivePort file doesn't exist
(Driver info: chromedriver=135.0.7049.114 (63fd8a7d9d09e41ba37b84386c85d5f249f848f7-refs/branch-heads/7049@{#21 NT 10.0.26100 x86_64) )
代码用途是通过VBA+ChromeDriver启动带本地默认配置文件("Default")的Chrome,跳过特定网站登录流程,代码如下:
/* 需要先安装Selenium并设置引用才能运行代码。 运行前必须关闭Chrome。 */ Function test() Dim driver As New ChromeDriver Dim orgPt As String With driver orgPt = "C:\Users\" & Environ("username") & "\AppData\Local\Google\Chrome\User Data" .AddArgument "--user-data-dir=" & orgPt .AddArgument "--profile-directory=Default" .AddArgument "--start-maximized" .AddArgument "--no-sandbox" .AddArgument "--lang=ja-JP" .Start End With End Function
当前环境:
- Windows 11
- Google Chrome 版本 136.0.7103.93
- ChromeDriver 版本 136.0.7103.92
- 后续流程无法使用
--headless参数(已尝试添加,无效)
已尝试但无效的解决方法:
- 安装旧版Chrome(135.0.7049.96)并搭配对应旧版ChromeDriver,仍出现相同错误;
- 复制"Default"文件夹至Chrome目录下并指定为
--user-data-dir,浏览器启动但无Cookie; - 添加
--disable-dev-shm-usage参数无效; - 添加
--headless参数无效; - 添加
--remote-debugging-pipe和--remote-debugging-port=9222参数,出现超时错误; - 关闭安全软件(MS Defender)无效。
解决思路与建议
- 彻底终止Chrome相关进程:运行代码前,通过任务管理器结束所有
chrome.exe、chromedriver.exe进程(包括后台残留进程),避免配置文件被占用。 - 检查用户数据目录权限:右键
C:\Users\[你的用户名]\AppData\Local\Google\Chrome\User Data文件夹,确保当前用户拥有「完全控制」权限,防止ChromeDriver无法读取配置文件。 - 使用非默认配置文件测试:新建一个Chrome测试配置文件(通过Chrome设置→配置文件→添加创建),修改代码中
--profile-directory为新配置文件名称,验证是否能正常启动。 - 指定Chrome可执行文件路径:在代码中添加
.SetBinary "C:\Program Files\Google\Chrome\Application\chrome.exe"(根据实际安装路径调整),强制ChromeDriver绑定指定的Chrome版本,避免版本匹配异常。 - 禁用Chrome后台自动启动:在Chrome设置→系统中关闭「关闭Chrome后继续运行后台应用」选项,防止默认配置文件被后台进程占用。
- 清理Chrome缓存冗余:删除
User Data目录下的Cache、Local Storage等缓存文件夹,或重置Chrome设置(保留书签和密码)后重新测试。
内容的提问来源于stack exchange,提问作者上杉祐介
相关产品推荐
相关产品推荐

