Agent Skills
返回列表
浏览器 CDP 自动化

浏览器 CDP 自动化

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @zcwl/browser-automation-cdp。

技能介绍

解决什么问题

很多抓取任务会卡在三类页面上:完全依赖 JS 渲染的页面(比如 B 站,web_fetch 拿到的只是空壳 HTML)、需要登录态的操作,以及需要点击、填表、滚动的交互流程。CDP(Chrome DevTools Protocol)让自动化工具直接连上用户本机已登录的 Edge 或 Chrome,在真实浏览器里执行任务,天然继承 cookie 和登录状态,不用单独处理鉴权。

核心能力与工作方式

技能通过 WebSocket 与开启远程调试的浏览器通信。浏览器以 remote debugging 模式启动(Edge 默认端口 9222,Chrome 默认端口 9223),之后即可调用一组简洁的命令:

  • browser.goto(url):导航到指定 URL,等 Page.loadEventFired 后再补 2 秒给 JS 渲染
  • browser.eval(script):在页面上下文执行 JavaScript 并返回结果
  • browser.click(selector):计算元素中心坐标,用 document.elementFromPoint 模拟点击,支持任意可点击元素
  • browser.screenshot():截图当前页面,返回 PNG base64,可另存为文件
  • browser.wait(ms):显式等待 JS 渲染或网络请求
  • browser.tabs():列出所有标签页

适用边界与踩坑

不是所有场景都该用它。静态 HTML 页面直接用 web_fetch 即可;有强反自动化检测的站点(如小红书,存在 UA 检测和行为检测)可能直接失败;带签名保护的 API(如 B 站的 wbi 签名)无法绕过,只能走 DOM 提取,且播放量等字段是文本,需要自己 parseInt 清洗。

工程上还有几个实际限制:

  • 每个调试端口同一时间只允许一个 WebSocket 连接,任务失败残留连接时需重启浏览器
  • document.cookie 拿不到 HttpOnly cookie,需要完整 cookie 只能读浏览器的 SQLite 文件
  • Next.js 等 SPA 的内部路由不能直接导航(会 404),需先进一个已知子页面再用 JS 触发跳转
  • 调试端口可能被预装软件(如联想 Vantage)占用,得先结束占用进程

使用场景

  • 视频运营需要批量读取 B 站首页视频卡片的标题与播放量,用于筛选选题方向
  • 开发者想在浏览器已登录的前提下,自动点击 Minimax 侧边栏菜单并提取 Token Plan 剩余配额
  • 自动化工程师需要对 JS 渲染的网页执行点击、填表、滚动等交互后截图存档
  • 测试人员希望在本地 Edge 调试端口被预装软件占用时,快速恢复浏览器自动化链路

适合人员

  • 需要处理 JS 渲染或登录态网页的后端工程师,关注 CDP 连接与页面执行的稳定性
  • 负责内容选题与数据整理的运营人员,需要从视频卡片和平台页面提取结构化字段
  • 编写自动化脚本并排查浏览器端口、选择器失效等问题的测试与运维工程师
  • 在 Next.js 等 SPA 项目中调试页面路由跳转的前端开发者