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

Access中Selenium+ChromeDriver加载默认Profile报错及版本适配求助

解决方案

一、先解决ChromeDriver与Chrome版本适配问题

  • 你当前Chrome版本121.0.6167.161,Driver版本121.0.6167.85属于同大版本,理论上兼容,但小版本差异可能引发Profile加载异常。可尝试两个方向:
    1. 升级Chrome到122.0.6261.x版本,下载对应版本的ChromeDriver(122.0.6261.29)替换现有Driver,再测试Profile加载。
    2. 降级Chrome到121.0.6167.85版本,确保与Driver完全匹配(可通过Chrome离线安装包实现)。

二、修正Profile加载的启动参数(解决DevToolsActivePort报错)

报错核心是Chrome启动时无法获取调试端口,通常是Profile路径指定错误或启动参数缺失。在Access的VBA代码中调整ChromeOptions:

Dim chromeOpts As New ChromeOptions
' 替换为你的Chrome用户数据目录路径,注意路径空格需用双引号包裹
chromeOpts.AddArgument "--user-data-dir=""C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data"""
' 指定默认Profile,若使用其他Profile替换对应名称即可
chromeOpts.AddArgument "--profile-directory=Default"
' 添加必要参数解决端口和权限问题
chromeOpts.AddArgument "--no-sandbox"
chromeOpts.AddArgument "--disable-dev-shm-usage"
chromeOpts.AddArgument "--remote-debugging-port=9222"
' 启动Driver时传入配置
Dim driver As New ChromeDriver
driver.Start "chrome", chromeOpts

注意:运行脚本前必须关闭所有已打开的Chrome窗口,避免Profile被占用。

三、Cookie持久化替代方案(绕开Profile加载问题)

如果上述方法仍无法解决,可采用Cookie导入的方式维持登录状态:

  1. 手动打开Chrome,登录Ebay并完成短信验证,保持登录状态。
  2. 使用浏览器插件(如EditThisCookie)导出当前页面的Cookie为可读取格式。
  3. 在VBA脚本中读取Cookie数据,逐个添加到Driver实例:
Dim driver As New ChromeDriver
driver.Start "chrome"
driver.Get "https://www.ebay.com"

' 示例:cookieList为包含Cookie信息的数组,格式为"name=value; domain=.ebay.com; path=/"
Dim cookieList As Variant
cookieList = Array("cookie1=xxx; domain=.ebay.com; path=/", "cookie2=yyy; domain=.ebay.com; path=/")

Dim cookie As Variant
For Each cookie In cookieList
    driver.ExecuteScript "document.cookie = arguments[0]", cookie
Next

' 刷新页面后即可保持登录状态
driver.Refresh

这种方法无需加载Profile,只要Cookie未过期,就能直接跳过登录验证流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 12:00:18