跳转到内容
搜索文档

更新日志

Cloudflare 的最新更新与改进。

Browser Run 无障碍树新端点

Browser Run 现在支持独立的 /accessibilityTree 端点,为 Agent 和自动化工作流提供对已渲染网页浏览器无障碍树的直接访问。

无障碍树是浏览器对已渲染页面的结构化视图:角色、名称、状态、值和层级关系。它对无障碍工具很有用,同时也对需要页面结构而无需处理原始 HTML 噪音或截图成本的 AI Agent 和自动化工作流非常实用。

对于 AI Agent 而言,这意味着减少了从像素推断信息以及解析 HTML 的工作。您可以直接提供页面结构,帮助 Agent 识别可用元素并判断其可执行的操作。

使用新的 /accessibilityTree 端点,当您只需要页面的语义结构时,可以直接请求无障碍树。如果需要在单次 API 调用中获取多种页面格式,可以使用 /snapshot 端点,该端点同时返回 Markdown、HTML 和截图。

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-run/accessibilityTree' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://example.com/"
}'
{
	"success": true,
	"result": {
		"accessibilityTree": {
			"role": "RootWebArea",
			"name": "Example Domain",
			"children": [
				{
					"role": "heading",
					"name": "Example Domain",
					"level": 1
				},
				{
					"role": "link",
					"name": "Learn more"
				}
			]
		}
	}
}

使用 interestingOnly 仅返回语义上有意义的节点,或使用 root 捕获特定子树的无障碍树。

请参阅 /accessibilityTree 文档 以获取使用示例和支持的参数。

Browser Run /snapshot 端点新增 formats 参数

Browser Run/snapshot 端点 现在支持 formats 参数,允许您在单次 API 调用中返回多种页面格式。此前,/snapshot 仅返回 HTML 内容和截图。您现在还可以在同一响应中包含 Markdown 和无障碍树。

这些格式对 AI Agent 工作流特别有用:

  • Markdown 提供了页面内容的高效 token 表示形式,LLM 可直接处理,无需解析 HTML 标记。
  • 无障碍树提供了页面元素的结构化表示,包括角色、标签和层级关系,帮助 LLM 理解页面结构并导航其内容。

以下示例在一次调用中返回截图、Markdown 和无障碍树:

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/snapshot' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://example.com/",
    "formats": ["screenshot", "markdown", "accessibilityTree"]
  }'
import Cloudflare from "cloudflare";

const client = new Cloudflare({
	apiToken: process.env["CLOUDFLARE_API_TOKEN"],
});

const snapshot = await client.browserRendering.snapshot.create({
	account_id: process.env["CLOUDFLARE_ACCOUNT_ID"],
	url: "https://example.com/",
	formats: ["screenshot", "markdown", "accessibilityTree"],
});

console.log(snapshot.markdown);
console.log(snapshot.accessibilityTree);
interface Env {
	BROWSER: BrowserRun;
}

export default {
	async fetch(request, env): Promise<Response> {
		return await env.BROWSER.quickAction("snapshot", {
			url: "https://example.com/",
			formats: ["screenshot", "markdown", "accessibilityTree"],
		});
	},
} satisfies ExportedHandler<Env>;

您必须至少请求两种格式。如果只需要一种格式,请使用相应的单格式端点,例如 /screenshot/markdown

请参阅 /snapshot 文档 以获取完整的支持值列表。

直接从 Workers 使用 Browser Run Quick Actions

您现在可以使用浏览器绑定(browser binding)上的 quickAction() 方法,直接从 Cloudflare Worker 调用 Browser Run Quick Actions。这消除了对 API 令牌或外部 HTTP 请求的需求,从而简化了 Workers 与 Browser Run 的交互方式。您的 Worker 会在 Cloudflare 的网络上直接与 Browser Run 进行通信,使得代码更简单,延迟更低。

通过 quickAction() 方法,您可以:

要开始使用,请将浏览器绑定(browser binding)添加到您的 Wrangler 配置中:

{
  "compatibility_date": "2026-03-24",
  "browser": {
    "binding": "BROWSER"
  }
}
compatibility_date = "2026-03-24"

[browser]
binding = "BROWSER"

然后直接从您的 Worker 调用任何 Quick Action。例如,要截取屏幕截图:

const screenshot = await env.BROWSER.quickAction("screenshot", {
	url: "https://www.cloudflare.com/",
});
const screenshot = await env.BROWSER.quickAction("screenshot", {
  url: "https://www.cloudflare.com/",
});

quickAction() 方法需要 2026-03-24 或更晚的兼容性日期。

有关设置说明和可用操作的完整列表,请参阅 Browser Run Quick Actions