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

VBA通过MSXML2.ServerXMLHTTP调用ChromeDriver自定义user-data-dir失效

问题解决方案

核心错误原因

你之前构造的请求JSON结构不符合ChromeDriver的规范要求,Chrome启动参数必须嵌套在goog:chromeOptions对象下的args数组字段中,同时你的JSON存在引号转义错误、多余符号、嵌套层级错误的问题。

修正后的代码

Private Function SendRequest() As Dictionary
    Dim client As Object
    Set client = CreateObject("MSXML2.ServerXMLHTTP")
    
    client.Open "POST", "http://localhost:9515/session"
    client.setRequestHeader "Content-Type", "application/json"
    
    Dim strJsonRequest As String
    ' 符合ChromeDriver规范的JSON结构
    strJsonRequest = "{""capabilities"":{""alwaysMatch"":{""goog:chromeOptions"":{""args"":[""--user-data-dir=D:\\Profiles\\tdmsoares\\Desktop\\tmpChromeUserData\\User Data""]}}}}"
    
    client.send strJsonRequest

    Do While client.readyState < 4
        DoEvents
    Loop

    Set SendRequest = JsonConverter.ParseJson(client.responseText)
End Function

注意事项

  • 路径中的反斜杠必须转义为双反斜杠\\,否则JSON会解析错误
  • args字段必须是数组格式,不能用字符串包裹数组符号
  • 如果需要添加其他Chrome启动参数,直接在args数组里追加元素即可,比如添加窗口最大化参数就写成[""--user-data-dir=xxx"", ""--start-maximized""]

验证方式

调用接口后打印返回结果,若value.capabilities.chrome.userDataDir字段为你指定的路径则表示配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 13:54:00