[ PROMPT_NODE_24008 ]
Browser Rendering 配置说明
[ SKILL_DOCUMENTATION ]
# 配置与设置
## 安装
bash
npm install @cloudflare/puppeteer # 或 @cloudflare/playwright
**使用 Cloudflare 软件包** - 标准的 `puppeteer`/`playwright` 无法在 Workers 中运行。
## wrangler.json
{
"name": "browser-worker",
"main": "src/index.ts",
"compatibility_date": "2025-01-01",
"compatibility_flags": ["nodejs_compat"],
"browser": {
"binding": "MYBROWSER"
}
}
**必需:** `nodejs_compat` 标志和 `browser.binding`。
## TypeScript
typescript
interface Env {
MYBROWSER: Fetcher;
}
export default {
async fetch(request: Request, env: Env): Promise {
// ...
}
} satisfies ExportedHandler;
## 开发
bash
wrangler dev --remote # 浏览器绑定需要 --remote
**本地模式不支持浏览器渲染** - 必须使用 `--remote`。
## REST API
无需 wrangler 配置。获取具有“浏览器渲染 - 编辑”权限的 API 令牌。
bash
curl -X POST
'https://api.cloudflare.com/client/v4/accounts/{accountId}/browser-rendering/screenshot'
-H 'Authorization: Bearer TOKEN'
-d '{"url": "https://example.com"}' --output screenshot.png
## 要求
| 要求 | 值 |
|-------------|-------|
| Node.js 兼容性 | `nodejs_compat` 标志 |
| 兼容日期 | 2023-03-01+ |
| 模块格式 | 仅限 ES 模块 |
| 浏览器 | Chromium 119+ (不支持 Firefox/Safari) |
**不支持:** WebGL, WebRTC, 扩展程序, `file://` 协议, Service Worker 语法。
## 故障排除
| 错误 | 解决方案 |
|-------|----------|
| `MYBROWSER is undefined` | 使用 `wrangler dev --remote` |
| `nodejs_compat not enabled` | 添加到 `compatibility_flags` |
| `Module not found` | `npm install @cloudflare/puppeteer` |
| `Browser Rendering not available` | 在仪表板中启用 |