浏览器自动化方案

• 15 分钟阅读 •

AI 控制浏览器方案对比报告

任务:打开 https://www.deltalab.wiki/,点击博客页面,输出最新一篇文章的标题,生成可重复运行的固定脚本。

环境:Windows, Python 3.14.3, Node v24.15, Chrome 150/151, DeepSeek API

数据来源claude -p --output-format json 返回的 num_turnsusage 字段。这是 Claude Code 官方提供的会话累计值。。


TL;DR

如果页面结构已知且稳定,直接写脚本最省。

如果必须 Agent 探索页面后再写脚本:

如果只是让 Agent 读标题(不生成脚本),带上优化提示词:

不必考虑的: Browser Use / Stagehand(Python 3.14 不兼容)、Playwright CLI(比 MCP 还贵)、bsk(OBC/BMCP 更优)

核心教训:

  1. 提示词里写"不要用 click,读 href 后直接 navigate"省 40-60% token
  2. CLI 比 MCP 省 50%(agent-browser 8 轮 vs Playwright MCP 24 轮)
  3. 所有方案的 click 在 SPA 页面都可能失败
  4. 快照格式越紧凑越好(aria 树 « DOM JSON)

一、无登录态 Chrome 方案

1. 脚本: Playwright 探路

提示词

请在这个工作区中用 Python + Playwright 完成:
1) 编写固定脚本,用 Playwright 打开 https://www.deltalab.wiki/,点击博客页面,获取最新文章标题;
2) 脚本可重复运行,不依赖登录态或 cookie;
3) 用 C:\Python314\python.exe 运行脚本并验证输出。
不要使用 MCP,直接用 playwright.sync_api。

工作流:写临时探路脚本 _probe_deltalab.py -> 跑探路脚本读 DOM -> 写正式脚本 deltalab_latest_blog.py -> 跑脚本验证 -> 删临时文件

轮数 input cache output 总 token 费用
13 49,384 335,616 5,041 390,041 $0.54

2. MCP: Playwright MCP

提示词

请使用 Playwright MCP 完成:
1) browser_navigate 打开 https://www.deltalab.wiki/;
2) browser_snapshot 找博客链接;3) browser_click 点击博客;
4) browser_snapshot 读文章列表 DOM;
5) 生成独立 Python 脚本到 scripts/deltalab_latest_blog_mcp.py;
6) 运行脚本验证输出。

工作流:MCP 导航首页 -> snapshot 定位 [ref=e29] -> click 点击跳转 -> snapshot 文章列表 -> evaluate 验证 DOM -> Write 生成脚本 -> Bash 运行验证 -> browser_close

轮数 input cache output 总 token 费用
24 63,000 597,888 6,216 667,104 $0.77

3. CLI: Playwright CLI + skill

提示词

请使用 Playwright CLI 完成:
1) playwright-cli open https://www.deltalab.wiki/;
2) playwright-cli click 点击博客页面;
3) 读取最新文章标题;
4) 生成独立 Python 脚本到 scripts/deltalab_latest_blog_cli.py;
5) 运行验证输出。

工作流:加载 skill -> PowerShell playwright-cli open -> snapshot –filename=home.yml -> Read home.yml -> click e29 -> snapshot –filename=blog.yml -> Read blog.yml -> Write 脚本 -> PowerShell 运行验证

轮数 input cache output 总 token 费用
24 62,108 668,032 3,963 734,103 $0.74

4. CLI: agent-browser

提示词

用 agent-browser CLI 完成:
1) agent-browser open https://www.deltalab.wiki/;
2) agent-browser snapshot 找博客链接的 ref;
3) agent-browser navigate https://www.deltalab.wiki/post 直接跳(不用 click);
4) agent-browser snapshot 读文章列表 DOM;
5) 生成独立 Python 脚本到 scripts/deltalab_latest_blog_ab.py;
6) 输出标题。

工作流:确认 CLI 可用 -> agent-browser open 首页 -> snapshot [ref=e5] -> navigate 跳 /post -> snapshot 文章列表 -> Write 脚本 -> 输出标题

轮数 input cache output 总 token 费用
8 83,867 264,960 2,974 351,801 $0.63

无登录态小结

方式 轮数 input cache output 总 token 费用
agent-browser 8 83,867 264,960 2,974 351,801 $0.63
Playwright 探路 13 49,384 335,616 5,041 390,041 $0.54
Playwright MCP 24 63,000 597,888 6,216 667,104 $0.77
Playwright CLI 24 62,108 668,032 3,963 734,103 $0.74

二、有登录态 Chrome 方案(Chrome 扩展)

1. browser-skill (bsk)

提示词

请用 browser-skill 完成:
1) bsk session start; 2) bsk navigate https://www.deltalab.wiki/;
3) bsk snapshot 找博客 href;
4) bsk navigate 直接跳 /post (不用 click);
5) bsk snapshot 读文章列表;
6) 生成独立 Python 脚本到 scripts/deltalab_latest_blog_bsk.py;
7) bsk session stop; 8) 输出标题。

工作流:加载 skill -> bsk status -> session start -> navigate 首页 -> snapshot [ref=e5] -> evaluate 查 href -> navigate /post -> snapshot 文章列表 -> Write 脚本 -> session stop -> 输出标题

轮数 input cache output 总 token 费用
15 105,207 596,480 4,403 706,090 $0.93

2. Open Browser Control

提示词

任务:打开 https://www.deltalab.wiki/,点击博客页面,输出最新文章标题。
方式:用 Open Browser Control MCP 打开并读取页面内容,生成可重复运行的固定脚本。
步骤:1) browser_navigate 打开首页;2) browser_get_dom 找博客 href;
3) browser_navigate 直接跳博客(不要 click);4) browser_get_dom 读文章列表;
5) 生成独立 Python 脚本;6) 只输出标题。

工作流:WaitForMcpServers -> browser_navigate 首页 -> browser_get_dom 找博客 text+href -> browser_navigate 跳 /post -> browser_get_dom 文章列表 -> Write 脚本 -> 输出标题

轮数 input cache output 总 token 费用
13 63,898 444,288 4,899 513,085 $0.66

3. Browser MCP

提示词

用 Browser MCP 完成:
1) browser_navigate 打开 https://www.deltalab.wiki/;
2) browser_get_dom 找博客 href;
3) browser_navigate 直接跳博客;
4) browser_get_dom 读文章列表;
5) 生成独立 Python 脚本到 scripts/deltalab_latest_blog_bmcp.py;
6) 只输出标题。

工作流:WaitForMcpServers(3 次重试)-> browser_navigate 首页 -> browser_get_dom 找博客 -> browser_navigate /post -> browser_get_dom 文章列表 -> Write 脚本 -> 输出标题

轮数 input cache output 总 token 费用
14 80,807 471,808 6,821 559,436 $0.81

有登录态小结

方式 轮数 input cache output 总 token 费用
Open Browser Control 13 63,898 444,288 4,899 513,085 $0.66
Browser MCP 14 80,807 471,808 6,821 559,436 $0.81
bsk 15 105,207 596,480 4,403 706,090 $0.93

三、AI 原生浏览器

BrowserOS neo

提示词

用 BrowserOS MCP 完成:
1) name_session deltalab-blog;2) tabs action=new 打开新标签;
3) navigate url=https://www.deltalab.wiki/;4) snapshot 找博客链接 ref;
5) act 点击博客;6) snapshot 读最新文章标题;7) 只输出标题。

工作流:name_session -> tabs new -> navigate 首页(自动附带 snapshot)-> [ref=e4] -> act click(SPA 未跳转)-> snapshot 确认失败 -> tabs list 发现已有 /post 标签 -> read links 获取 URL -> navigate /post -> 文章列表 “唐杰关于个人发展的四个阶段”

轮数 input cache output 总 token 费用
13 128,103 429,568 1,921 559,592 $0.90

四、综合排名

全部方案(生成固定脚本)

分类 方式 轮数 input cache output 总 token 费用 登录态
无登录态 agent-browser 8 83,867 264,960 2,974 351,801 $0.63
无登录态 Playwright 探路 13 49,384 335,616 5,041 390,041 $0.54
有登录态 Open Browser Control 13 63,898 444,288 4,899 513,085 $0.66
有登录态 Browser MCP 14 80,807 471,808 6,821 559,436 $0.81
AI 浏览器 BrowserOS neo 13 128,103 429,568 1,921 559,592 $0.90
无登录态 Playwright MCP 24 63,000 597,888 6,216 667,104 $0.77
有登录态 bsk 15 105,207 596,480 4,403 706,090 $0.93
无登录态 Playwright CLI 24 62,108 668,032 3,963 734,103 $0.74

优化提示词版(只要标题,不生成脚本)

方式 轮数 input cache output 总 token 费用 登录态
Open Browser Control 6 55,987 172,416 770 229,173 $0.39
Browser MCP 8 96,582 256,896 1,443 354,921 $0.65

五、关键发现

1. click 在 SPA 页面是个通病

bsk、OBC、BMCP、BrowserOS 的 click 对本任务中的博客链接都无法触发跳转。Agent 普遍需要 3-5 轮额外往返来诊断并改用直接 navigate。提示词里写"不要用 click,读 href 后直接 navigate"是 40-60% token 节省的来源。

2. 快照格式决定 token 效率

DOM JSON 每元素 6-13 字段,aria 树 YAML 每元素 2-3 行。Browser MCP input 80K vs OBC 64K——多出来的 17K 主要来自冗余的 roleplaceholdervalue 空字段。agent-browser cache 只有 265K(全场最低),因为快照是纯 aria 树直出 stdout,不存文件、不重复读取。

3. CLI vs MCP

agent-browser 8 轮 vs Playwright MCP 24 轮。CLI 没有 WaitForMcpServers 连接等待、没有工具 schema 上下文、没有 JSON-RPC 返回格式膨胀。每多一个 MCP 服务器,Claude Code 每轮对话都要加载全套工具定义——这是 MCP 方案 cache read 偏高的主要原因。

4. Chrome 扩展 vs 独立浏览器

Chrome 扩展(bsk/OBC/BMCP)优势是零部署、实时登录态,但 click 兼容性依赖扩展适配。BrowserOS 是独立 Chromium fork,工具最全(53+ 工具 + 40+ App 集成),但 MCP 工具 schema 直接打进 LLM 上下文,input 128K 全场最高。简单任务性价比不高,价值在需要真实登录态的多步联动。

5. 未来展望

AI 控制浏览器分化三条线:

Agent 工具链(MCP/CLI)——Playwright MCP、agent-browser、OBC。核心是让 Agent 像人一样看页面、做操作。这条路会继续优化快照格式、减少工具 schema 膨胀。

AI 原生浏览器(BrowserOS)——Agent 嵌入浏览器内核。当前 token 开销大,但长期可能是终局:Agent 不再通过 MCP 远程操控,而是在浏览器内部直接执行。

自闭环优化——这是未解决的核心矛盾:Agent 每次探索页面都要把整页 DOM 喂给 LLM。如果 AI 浏览器能缓存 Agent 探索过的页面结构(类似人浏览网页的记忆),就不需要每次全量传输。这是下一步 token 优化的最大空间。

留言
阅读进度 0%