参照官方手册结构整理(数据截至 2026-10,配额/价格以官方最新页面为准)。技术术语保留英文原词。原名 Browser Rendering,现更名为 Browser Run。
1. 概述
Browser Run(原 Browser Rendering)在 Cloudflare 全球网络上提供托管的无头 Chrome:用于浏览器自动化、网页抓取、测试、内容生成(截图、PDF、Markdown、结构化数据等)。
一句话定位:边缘无头浏览器——截图、PDF、抓取、自动化,一行 API 或 Puppeteer/Playwright 直接控。
Free 与 Paid 套餐均可用。
2. 核心概念
- Quick Actions(快捷动作):无状态任务——Screenshot、PDF、Markdown、Snapshot、Links、Scrape(HTML 元素)、JSON(结构化数据)、Crawl(整站爬取)。无需部署代码,一次 HTTP 请求即可。
- Browser Sessions:通过 Puppeteer / Playwright / CDP / Stagehand 直接控浏览器,适合复杂自动化。可部署在 Worker 内,也可从外部经 CDP 连接。
- Session reuse(会话复用):跨请求复用浏览器,降低冷启动。
- **keep_**alive:把不活动超时从默认 60s 延长至最多 20 分钟。
3. 架构与工作原理
请求到达最近边缘 → 从全球浏览器池拉起(或复用)一个 Chrome 实例 → 加载/渲染页面 → 执行动作(截图/PDF/抽取)→ 返回。默认不活动 60s 后关闭;未显式 browser.close() 会持续计费到超时(或 keep_alive 上限)。
4. 快速开始
Quick Actions(截图,一次 HTTP 请求):
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT/browser-run/screenshot" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'
Puppeteer(Browser Sessions):
import puppeteer from "@cloudflare/puppeteer";
const browser = await puppeteer.launch(env.BROWSER_RUN);
const page = await browser.newPage();
await page.goto("https://example.com");
await page.screenshot({ path: "shot.png" });
await browser.close(); // 务必关闭,否则持续计费
5. 配额与限制
| 限制项 | Workers Free | Workers Paid |
|---|---|---|
| 浏览器时长(Browser hours) | 10 分钟 / 天 | 含 10 小时 / 月,超出 $0.09 / 小时 |
| 并发浏览器(仅 Sessions) | 3 个 / 账户 | 默认 10 个(按月平均),超出 $2 / 个;平台默认上限 200 / 账户,可提额 |
| 新建浏览器实例 | 1 / 20s | 3 / 秒 |
| 浏览器超时(不活动) | 60s(keep_alive 至 20 分钟) | 60s(keep_alive 至 20 分钟) |
| Quick Actions 请求 | 1 / 10s | 30 / 秒 |
/crawl 限制(Free) |
5 任务 / 天,每任务最多 100 页 | — |
6. 定价
- 按浏览器时长与(Sessions 的)并发浏览器数计费,时长在 Free/Paid 间共享。
- 失败请求(如
waitForTimeout超时)不计费。 - 并发浏览器数按「每日峰值月平均」计算,避免短时尖峰被重罚。
7. 最佳实践
- 用完务必
browser.close()(放try/finally),避免空转计费。 - 高频场景复用会话(reuse sessions)或在同浏览器开多 tab,减少冷启动。
- 简单截图/PDF/抓取优先用 Quick Actions(免部署);复杂交互用 Puppeteer/Playwright。
- 用
Retry-After温和处理429 Too many requests。
8. 适用场景与选型
- 截图/PDF 生成、网页抓取、E2E 测试、AI 数据抽取(JSON 端点)、整站爬取(Crawl)。
- 与 Workers / Queues 组合:用 Queues 把抓取任务异步化,避免阻塞请求。
- 轻量 HTML→图片/PDF 需求,Browser Run 比自建无头浏览器省运维。