chrome-cdp-skill

🌐 原生 CDP 直连浏览器自动化调试

通过 Chrome DevTools Protocol 直接操控本地浏览器,无需 Puppeteer,支持截图、DOM 操作、页面导航等调试功能

收藏
4k
安装
1.1k
版本
1.0.4
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Chrome CDP Skill 是一款轻量级浏览器自动化工具,基于 Chrome DevTools Protocol (CDP) 通过原生 WebSocket 与本地 Chrome 家族浏览器(Chrome、Chromium、Brave、Edge、Vivaldi)建立直接通信,无需依赖 Puppeteer 等重型框架。

主要功能覆盖:

  • 页面枚举list 命令列出所有打开的标签页及其 targetId
  • 视觉捕获shot 命令截取视口截图,输出含 DPR 信息便于坐标换算
  • DOM 操作html 提取页面/元素源码,snap 生成无障碍树快照
  • 交互控制click/clickxy 实现元素或坐标点击,type 在焦点处输入文本(支持跨域 iframe)
  • 脚本执行eval 运行 JavaScript,evalraw 直接透传 CDP 命令
  • 页面管理nav 导航加载,open 新建标签页,loadall 自动点击"加载更多"
  • 网络分析net 获取资源加载时序数据

技术架构上采用 Node.js 22+ 内置 WebSocket 模块,零 npm 依赖安装,单文件 CLI 设计。

显著优点

1. 零依赖轻量化:无需 npm install、Python 或 pip,单 .mjs 文件即可运行,对大型标签页场景性能优于 Puppeteer
2. 原生 CDP 访问:直接 WebSocket 通信,避免抽象层开销,支持 evalraw 透传任意 CDP 命令

3. 跨域 iframe 兼容type 命令绕过同源策略限制,解决自动化测试中常见的 iframe 输入难题

4. 坐标精确控制:截图输出 DPR 换算提示,适配 Retina 等高分辨率屏幕的像素坐标映射

5. 会话持久化:后台守护进程保持连接 20 分钟,首次授权后免重复确认

潜在缺点与局限性

  • 安全门槛高:需手动开启 chrome://inspect/#remote-debugging,首次访问每标签页弹出"允许调试"模态框
  • 视口截图限制shot 仅捕获可见区域,完整页面需先执行滚动脚本
  • 选择器脆弱性:官方警告避免基于索引的 DOM 选择(如 querySelectorAll(...)[i]),动态内容易导致选择器漂移
  • 无无头模式:必须保持真实浏览器窗口运行,不适合 CI/CD 等纯自动化场景
  • 前缀匹配风险:targetId 采用前缀匹配策略,短前缀可能导致误匹配被拒绝

适合人群

  • 需要调试本地已打开页面的前端开发者
  • 进行浏览器行为分析的安全研究人员
  • 希望轻量级替代 Puppeteer 的自动化测试工程师
  • 需要操作跨域 iframe 内容的复杂 Web 应用测试人员

常规风险

高权限暴露:该技能可执行 evalnavclick 等敏感操作,能访问用户已登录的会话、Cookie 及本地存储数据。恶意利用可导致会话劫持、钓鱼页面注入、敏感信息截图泄露。

供应链安全scripts/cdp.mjs 作为单文件脚本,若被篡改可植入任意浏览器操控代码。建议校验文件哈希后再部署。

调试端口暴露:开启远程调试后,本地端口可能被其他进程探测利用,建议仅在受信任网络环境使用。

chrome-cdp-skill 内容

scripts文件夹
手动下载zip · 12.3 kB
cdp.mjstext/javascript
请选择文件