WSL2 + Windows + remote Chrome CDP openclaw 浏览器自动化

文章目录

资料:https://docs.openclaw.ai/tools/browser-wsl2-windows-remote-cdp-troubleshooting

在WSL2中通过OpenClaw操作Windows端的Chrome,核心是基于Chrome DevTools Protocol (CDP) 实现跨WSL2/Windows的远程控制,优先选择Raw remote CDP 模式,需完成Windows端Chrome开启远程调试、WSL2网络连通验证、OpenClaw配置、端到端验证四步核心操作,以下是详细步骤和实操方法:

一、前提准备:Windows端开启Chrome远程调试

  1. 关闭所有Chrome窗口,通过命令提示符/PowerShell启动Chrome并开启远程调试端口(默认端口9222),执行命令:
bash 复制代码
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\Users\wiljz\AppData\Local\OpenClaw\ChromeProfile"
  1. 本地验证Chrome CDP服务:在Windows端执行curl命令,确认端口正常提供服务,返回JSON即成功:
bash 复制代码
curl http://127.0.0.1:9222/json/version
curl http://127.0.0.1:9222/json/list

(若失败,无需调试OpenClaw,先排查Chrome启动参数或端口占用)

类似如下错误


2.1 排查过程

  • 排查9222端口哪个应用占用

    netstat -ano | findstr ":9222"

看 PID 4416 是什么程序:

复制代码
tasklist | findstr 4416

被sychost系统占用了9222端口

查看 4416里跑的是什么服务

复制代码
tasklist /svc | findstr 4416

既然端口9222被占用,那就换个端口9223,重复上述步骤。


二、网络连通:验证WSL2可访问Windows的CDP端点

  1. 获取Windows的主机IP(需是WSL2可访问的地址,如本地局域网IP, window系统用ipconfig查看);

  2. 在WSL2终端中,测试对Windows CDP端口的访问,命令与Windows端类似,替换为Windows IP:

bash 复制代码
curl http://172.22.144.1:9223/json/version
curl http://172.22.144.1:9223/json/list
  1. 成功标准/json/version返回浏览器/协议版本JSON,/json/list返回JSON(无打开页面时为空数组也可);

  2. 失败排查 :若访问失败,需检查Windows防火墙是否放行9223端口、是否配置端口转发(需管理员权限执行netsh interface portproxy)、WSL2与Windows的网络互通性。


  • 检查防火墙是否放行 9223 端口
    设置-》windows安全中心-》防火墙和网络保护-》高级设置-》入站规则

  • 或者命令:netsh advfirewall firewall show rule name=all dir=in | findstr "9223"

  • 没有则添加规则

    netsh advfirewall firewall add rule name="Allow Chrome CDP 9223 (WSL2)" dir=in action=allow protocol=TCP localport=9223 remoteip=localsubnet profile=any enable=yes

  • 查看端口是否转发

    netsh interface portproxy show all

正常如下:

没有则执行:

复制代码
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=9223 connectaddress=127.0.0.1 connectport=9223

三、核心配置:OpenClaw添加远程Chrome配置文件

OpenClaw的浏览器配置在~/.openclaw/openclaw.json中,需添加指向Windows CDP端点的远程配置文件,步骤如下:

  1. 编辑配置文件,写入以下内容,替换WINDOWS_HOST_OR_IP(ipconfig命令查看)为实际的Windows可访问IP
json 复制代码
{
    "browser": {
        "enabled": true,
        "defaultProfile": "remote",
        "profiles": {
            "remote": {
                "cdpUrl": "http://WINDOWS_HOST_OR_IP:9223",
                "attachOnly": true,
                "color": "#00AA00"
            }
        }
    }
}
  1. 关键配置说明
  • cdpUrl:必须是WSL2可访问 的Windows地址,不能用仅Windows本地的127.0.0.1

  • attachOnly: true:表示仅连接外部已启动的Chrome(Windows端手动启动的实例),不由OpenClaw管理启动;

  • defaultProfile: "remote":将远程配置设为默认,后续命令可省略--browser-profile参数。

四、端到端验证:WSL2中通过OpenClaw操作Windows Chrome

复制代码
配置完成后,在WSL2终端执行OpenClaw命令,验证对Windows Chrome的控制,核心操作如下:
  1. 打开指定网页:在Windows Chrome中新建标签页并打开目标网址:
bash 复制代码
openclaw browser --browser-profile remote open https://finance.sina.com.cn/nmetal/
  1. 查看Chrome标签页:验证OpenClaw可识别Windows Chrome的标签页,返回标签信息即成功:
bash 复制代码
openclaw browser tabs --browser-profile remote
  1. 其他常用操作:验证截图、页面导航等后续操作,均基于该远程配置:
bash 复制代码
# 页面截图
openclaw browser screenshot --browser-profile remote
# 导航到新网址
openclaw browser navigate https://github.com --browser-profile remote
  1. 成功标准 :所有命令执行后,Windows端Chrome会同步执行对应操作,WSL2终端返回无错误信息。

五、Control UI辅助验证(可选)

若需通过可视化界面操作,可在Windows端打开OpenClaw的Control UI,必须使用Windows本地localhost,避免安全策略拦截:

  1. 访问地址:http://127.0.0.1:18789/(WSL2中Gateway默认运行在该地址);

  2. 验证要点:确保页面源与gateway.controlUi.allowedOrigins配置匹配、token/pairing认证正常,避免将UI认证问题误判为CDP连接问题。

六、常见错误排查(关键)

若操作失败,根据错误提示定位层级问题,避免混淆排查方向:

  1. Remote CDP for profile "remote" is not reachable:WSL2无法访问配置的cdpUrl,重新检查Windows IP和端口连通性;

  2. gateway timeout after 1500ms:CDP端点访问缓慢或不可达,排查网络转发/防火墙;

  3. control-ui-insecure-auth:Control UI的源/安全上下文问题,与CDP无关,改用127.0.0.1访问UI;

  4. No Chrome tabs found for profile="user":错误使用了本地user配置,需切换为remote远程配置;

  5. token_missing/pairing required:认证/设备授权问题,检查OpenClaw的auth配置。

七、快速排障清单

每次操作失败后,按以下顺序快速验证,逐一排除问题:

  1. Windows端curl http://127.0.0.1:9222/json/version是否成功?

  2. WSL2端curl http://WINDOWS_HOST_OR_IP:9222/json/version是否成功?

  3. OpenClaw配置的cdpUrl是否与WSL2测试的地址完全一致?

  4. Control UI是否使用http://127.0.0.1:18789/而非LAN IP?

  5. 是否错误使用existing-session跨WSL2/Windows(应使用raw remote CDP)?

核心原则

WSL2中OpenClaw操作Windows Chrome的关键是分层验证:先确保Windows Chrome自身CDP服务正常,再验证WSL2与Windows的网络连通,最后调试OpenClaw配置和UI认证,避免多个独立问题叠加导致排查方向错误。

相关推荐
love530love29 分钟前
修复 ComfyUI 插件 ComfyUI-BiRefNet-ZHO 报错 - Windows
服务器·人工智能·windows·python·birefnet-zho
Agent产品评测局1 小时前
企业流程异常处理自动化落地,预警处置全流程实现方案:2026企业“数字免疫系统”构建指南
运维·人工智能·ai·chatgpt·自动化
萑澈1 小时前
实践教程:我如何用 n8n 自动化“软著申请”中最头疼的文档撰写工作
运维·elasticsearch·自动化
李白你好1 小时前
Android 自动化渗透测试指令生成
android·自动化
jessecyj2 小时前
【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
windows·分布式·rabbitmq
一只小鱼儿吖2 小时前
基于OpenClaw的代理IP池自动化监控方案
网络协议·tcp/ip·自动化
七夜zippoe3 小时前
OpenClaw 定时任务与自动化:Cron 详解
运维·人工智能·自动化·cron·openclaw
chaofan9804 小时前
Claude 4.7 Opus 深度测评:智能体编码跑分暴涨 10%,开发者要失业了?
人工智能·自动化·api
开开心心就好4 小时前
系统重装前必备的智能驱动备份工具
windows·计算机视觉·计算机外设·excel·模块测试·csdn开发云·威胁分析
男孩李6 小时前
Windows 系统下WorkBuddy安装指南
windows·语言模型