跳转到内容
搜索文档

会话管理(HTTP)

最后更新 查看 MarkdownAgent 设置

使用 HTTP API 管理浏览器会话和标签页,无需 WebSocket 连接。这对于创建会话、列出标签页和清理资源等会话生命周期操作很有用。

开始之前,请创建自定义 API Token,并授予 Browser Rendering - Edit 权限。

API 参考/devtools 下记录了所有会话管理端点。

步骤 1:获取浏览器会话

使用 POST /devtools/browser 端点创建新的浏览器会话。会话将在指定的 keep-alive 时间内保持活动(此示例为 10 分钟)。

curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser?keep_alive=600000" \
	--request POST \
	--header "Authorization: Bearer {api_token}"
{
	"sessionId": "1909cef7-23e8-4394-bc31-27404bf4348f",
	"webSocketDebuggerUrl": "wss://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f"
}

保存响应中的 sessionId。你将在后续请求中使用它。

步骤 2:创建带有特定 URL 的标签页

使用 PUT /devtools/browser/{session_id}/json/new 端点在浏览器会话中打开新标签页并导航到特定 URL。

curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID/json/new?url=https%3A%2F%2Fexample.com" \
	--request PUT \
	--header "Authorization: Bearer {api_token}"
{
	"id": "8E598E996530FB09E46A22B8B7754F7F",
	"type": "page",
	"url": "https://example.com",
	"title": "Example Domain",
	"description": "",
	"devtoolsFrontendUrl": "https://live.browser.run/ui/view?wss=live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=...",
	"webSocketDebuggerUrl": "wss://live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=..."
}

步骤 3:列出所有 target

列出会话中的所有 target(标签页)以验证标签页已创建并获取 devtoolsFrontendUrl

curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID/json/list" \
	--request GET \
	--header "Authorization: Bearer {api_token}"
[
	{
		"id": "8E598E996530FB09E46A22B8B7754F7F",
		"type": "page",
		"url": "https://example.com",
		"title": "Example Domain",
		"description": "",
		"devtoolsFrontendUrl": "https://live.browser.run/ui/view?wss=live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=...",
		"webSocketDebuggerUrl": "wss://live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=..."
	}
]

步骤 4:打开 DevTools UI

从响应中复制 devtoolsFrontendUrl 并在 Chrome 中打开。此 URL 提供连接到远程浏览器会话的 Chrome DevTools UI 的直接访问。

打开后,DevTools UI 将加载,你可以:

  • 检查 DOM 和 CSS
  • 使用断点调试 JavaScript
  • 监控网络请求
  • 查看控制台消息
  • 在控制台中执行 JavaScript
  • 导航到不同的 URL

步骤 5:清理

完成后,关闭浏览器会话以释放资源。

curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID" \
	--request DELETE \
	--header "Authorization: Bearer {api_token}"
{
	"status": "closing"
}

故障排除

如有疑问或遇到错误,请参阅 Browser Run 常见问题与故障排除指南

这篇文档对您有帮助吗?