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

设置Chrome默认配置文件时Selenium Chromedriver报SessionNotCreatedError

VBA Selenium Chrome配置文件加载问题:SessionNotCreatedError解决办法

问题复现

当通过VBA的Selenium绑定ChromeDriver,指定默认用户配置文件启动Chrome应用模式时,Chrome窗口能正常打开并加载配置,但ChromeDriver抛出运行时错误'33': SessionNotCreatedError,提示DevToolsActivePort file doesn't exist,判定Chrome崩溃。不指定配置文件时交互正常,环境为Chrome 121.0.6167.86、ChromeDriver 121.0.6167.85。

解决方案

1. 强制关闭所有Chrome进程后启动

ChromeDriver需要独占控制Chrome实例,若有后台Chrome进程(包括托盘里的后台应用)占用端口,会导致连接失败:

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

2. 手动指定远程调试端口

给Chrome添加调试端口参数,让ChromeDriver能明确找到连接入口,修改VBA代码中的Options部分:

options.AddArgument "--remote-debugging-port=9222"
options.AddArgument "--user-data-dir=""C:\Users\[你的用户名]\AppData\Local\Google\Chrome\User Data"""
options.AddArgument "--profile-directory=Default"
options.AddArgument "--app=http://localhost:8080"

注:若9222端口被占用,可更换为其他未使用端口(如9223);路径含空格时必须用双引号包裹。

3. 关闭Chrome后台运行权限

Chrome默认会在关闭窗口后保留后台进程,导致端口被占用:

  • 打开Chrome,进入设置 > 系统
  • 取消勾选「关闭Chrome后继续运行后台应用」

4. 确保配置文件路径绝对准确

检查--user-data-dir的路径是否正确:

  • 路径需指向Chrome用户数据的根目录(即包含Default文件夹的User Data目录)
  • 替换[你的用户名]为实际Windows登录用户名,注意大小写和特殊字符

5. 匹配Chrome与ChromeDriver的精确版本

即使主版本一致,微小版本差异也可能引发兼容性问题:

  • 下载与Chrome版本(121.0.6167.86)完全一致的ChromeDriver,替换现有驱动文件

6. 连接已启动的Chrome实例(备选方案)

若上述方法无效,可先手动启动带配置的Chrome,再让ChromeDriver连接已运行的实例:

  1. 手动打开Chrome,右键快捷方式添加启动参数:--user-data-dir="C:\Users\[你的用户名]\AppData\Local\Google\Chrome\User Data" --profile-directory=Default --remote-debugging-port=9222 --app=http://localhost:8080
  2. 修改VBA代码连接已运行的实例:
Sub ConnectToExistingChrome()
    Dim driver As New ChromeDriver
    driver.SetCapability "debuggerAddress", "localhost:9222"
    ' 后续交互代码
End Sub

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 18:40:29