SuperAPI AI 工具集

browser-cdp

测试与质量

查看项目

更新于 10-15 21:40

技能介绍

用途:通过 CDP 协议控制 Chrome,复用已有登录会话执行浏览器自动化,适合需要带登录态抓取页面、提取文本或令牌、点击与输入等操作的场景。

主要能力:打开页面并等待加载、提取页面文本、读取 localStorage 或 document.cookie、对页面元素执行点击和输入;提供 snapshot -i 获取可交互元素引用。

环境与前置:macOS/Linux/Windows(实验性),需已装 Google Chrome、Node.js 20+,并执行 npm install -g agent-browser 全局安装。

启动流程:先无副作用探测 node {SKILL_DIR}/scripts/setup-cdp-chrome.js 9222 --detect-only;若已就绪直接用 agent-browser --cdp 9222 ...,不要再运行 setup。若需初始化且无 Chrome 在跑,执行 setup-cdp-chrome.js 9222 --yes。若检测到 Chrome 正在运行,须先向用户确认(会杀掉现有进程、可能丢失未保存工作),同意后再带 --yes 启动,拒绝则放弃本次自动化。脚本在非 TTY 且未加 --yes 时会以退出码 3 报 NEEDS_CONSENT 并中止,不应盲目补 --yes。

常用命令:agent-browser --cdp 9222 open "<URL>"、wait 3000、eval、snapshot -i、click、type。含复杂引号的 JS 建议用 eval -b(base64)或 heredoc 配合 eval --stdin。

清理与登录失效:关掉 debug Chrome 窗口;无响应时先按 --user-data-dir 核验 debug 实例 PID 再只结束该实例,不得按 chrome.exe 名称批量结束。登录态过期可执行 setup-cdp-chrome.js 9222 --reset --yes(同样需先征得同意)。

限制:opencode 无后台执行工具,长 CDP 操作会阻塞会话,需超时包装(Windows 用 PowerShell Job,macOS/Linux 用 timeout 命令),超时后重试;页面加载超时、批量抓取、进程僵死、网络波动等场景仍可能出问题,持续卡死可手动打断。

其他:支持 --detect-only、--yes、--reset、--profile <name>、--dry-run 选项;退出码 0 成功、1 通用错误、2 用户拒绝、3 需同意但缺 --yes。其他未在资料中说明的细节暂未提供。