工程开发
cloudflare-browser avatar

cloudflare-browser

通过 Cloudflare 浏览器渲染服务进行无头 Chrome 自动化控制。支持截图、网页导航、数据抓取及视频录制,专为 Cloudflare Workers 环境打造。

简介

cloudflare-browser 技能为 Cloudflare Workers 生态系统内的无头浏览器操作提供了强大的控制接口。通过 WebSockets 使用 Chrome 开发者工具协议 (CDP),开发者可以将托管浏览器视为可编程资源,用于执行复杂的自动化任务。此工具专为需要视觉确认、网页内容提取或标准 HTTP 请求无法实现的高保真页面渲染的代理程序而设计。目标用户包括需要以程序化方式与动态 JavaScript 网页交互的软件工程师、自动化专家及数据研究人员。无论您是进行自动化回归测试、生成动态视觉素材还是抓取结构化数据,此技能都能提供必要的底层浏览器状态控制。

  • 完整的 CDP 整合:支持执行标准 Chrome DevTools 指令,包括网页导航、运行时评估 (Runtime.evaluate) 及模拟设置。

  • 自动视觉撷取:原生支持撷取高解析度 PNG/JPEG 截图,并可将多页面序列缝合成 MP4 视频文件。

  • 视口管理:提供设备指标的细粒度控制,支持移动设备响应式测试与自定义窗口维度模拟。

  • 即时事件处理:订阅 Target.targetCreated 等事件,以监控浏览过程中的页面生命周期与状态变化。

  • Cloudflare 架构整合:针对 Workers 环境进行优化,确保与浏览器渲染后端的有效 WebSocket 通讯。

  • 前置需求:需设置正确的 CDP_SECRET 环境变量,并在浏览器配置文件中配置 cdpUrl。

  • 输入:接受标准导航 URL、交互用 CSS 选择器,以及通过 Runtime.evaluate 执行的原始 JavaScript 表达式。

  • 输出:产生二进制图像缓冲区、Base64 编码截图,或用于搭配 ffmpeg 进行视频后处理的暂存帧文件。

  • 限制:请注意 Cloudflare Sandbox 环境可能存在的冷启动延迟;在生产环境中建议实现 30-60 秒的超时处理。

  • 最佳实践:建议使用提供的 cdp-client.js 封装程序来抽象化常见的重复代码,例如消息 ID 追踪与基于 Promise 的响应处理,以简化脚本开发流程。

仓库统计

Star 数
9,875
Fork 数
1,784
Open Issue 数
93
主要语言
TypeScript
默认分支
main
同步状态
空闲
最近同步时间
2026年4月30日 16:59
在 GitHub 查看