乐于分享
好东西不私藏

AI Agent浏览器操作 02:Playwright vs agent-browser——两大方案对比选型

AI Agent浏览器操作 02:Playwright vs agent-browser——两大方案对比选型

上篇文章讲了无头浏览器和CDP协议的基础。这篇做个横向对比,帮助你在实际项目中做出选择。

目前有两个最主流的 AI 浏览器操作方案:Playwright 和 agent-browser(Vercel Labs)。两者都能操作浏览器,但设计思路和适用场景有明显差异。

说明
:以下命令整理自 agent-browser 文档,源码中未经实测验证:

fillwaitwait-forextractcontentrefreshlist-tabsswitch-tab

open-new-tabchatcookiessessionconnectkillsetstealthhoverselect

源码中实测可用的命令:openclicksnapshotscreenshotclosescrollbackevaltypepressconsoleerrors

一、两个方案是什么

Playwright:微软出品的浏览器自动化框架,支持 Python/JavaScript/TypeScript,用 CDP 协议操作浏览器,社区成熟,文档丰富。

agent-browser:Vercel Labs 今年推出的 Rust 原生 CLI 工具,用 CDP 操作浏览器,无其他依赖,自带云端服务集成。

┌─────────────────────────────────────────────────────────────────┐│  Playwright                                              ││  Python / JavaScript                                     ││  90.3k stars(2026-06),Apache-2.0                    │└─────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│  agent-browser                                        ││  Rust CLI(npm 安装)                                     ││  35.3k stars,Apache-2.0(2026-06)                   │└─────────────────────────────────────────────────────────┘

二、功能对比

功能
Playwright
agent-browser
支持语言
Python、JS、Java、C#、Go
CLI(任何语言可调用)
安装方式
pip / npm install
npm install -g
浏览器依赖
需要单独安装Chromium
自带Chrome下载
浏览器类型
Chromium、Firefox、WebKit
Chromium only
CDP协议
✅ 完整支持
✅ 完整支持
云端服务
需自己接(Browserbase等有SDK)
原生支持5种云服务(Browserless/Browserbase/BrowserUse/Kernel/AgentCore)
stealth模式
需加playwright-stealth等插件
@askjo/camofox-browser(Camofox指纹伪装)
截图
✅ 支持
✅ 支持
Accessibility树
✅ 支持
✅ 支持(snapshot命令)
Cookie操作
✅ 完整API
✅ 支持(存储/加载)
多标签页
✅ 支持
✅ 支持
并发控制
✅ 支持
✅ 支持(连接远程会话)
文档完善度
⭐⭐⭐⭐⭐ 非常完善
⭐⭐⭐ 中等
社区规模
90.3k stars(2026-06)
35.3k stars(2026-06)

三、架构对比

Playwright 架构

┌─────────────────────────────────────────┐│  你的代码(Python / JavaScript)          │└─────────────────┬───────────────────────┘                  │                  ▼┌─────────────────────────────────────────┐│  Playwright SDK                          ││  - 浏览器管理(launch/close)            ││  - 元素定位(selector/xpath)            ││  - 上下文管理(context)                 ││  - 等待/重试逻辑                         │└─────────────────┬───────────────────────┘                  │ CDP                  ▼┌─────────────────────────────────────────┐│  Chromium(本地或远程)                   │└─────────────────────────────────────────┘

SDK 层厚:提供了完整的 API 抽象,用起来方便

协议层透传:底层还是 CDP,但封装得很好

本地/远程皆可:可以连本地浏览器,也可以连remote-debugging-port

agent-browser 架构

┌─────────────────────────────────────────┐│  你的代码(任何语言)                     ││  调用 agent-browser CLI                 │└─────────────────┬───────────────────────┘                  │                  ▼┌─────────────────────────────────────────┐│  agent-browser(Rust原生CLI)            ││  - 命令行接口(snapshot/click/fill)     ││  - CDP直连                              │└─────────────────┬───────────────────────┘                  │ CDP                  ▼┌─────────────────────────────────────────┐│  Chromium(本地或云端)                  ││  - Browserless / Browserbase            ││  - Browser Use / Kernel / AgentCore      │└─────────────────────────────────────────┘

CLI 层薄:Rust 写的,执行快,无运行时依赖

云端原生-p 参数直接切换云服务提供商

通过子进程通信:其他语言通过 spawn 调用 CLI

四、云端服务支持对比

这是两者差距最大的地方。

Playwright 云端支持

# Playwright 需要自己接云服务,示例Browserbasefrom playwright.sync_api import sync_playwrightwith sync_playwright() as p:    browser = p.chromium.connect_over_cdp("wss://browser.cloud/playwright")    page = browser.new_page()    # ...

需要自己处理:

WebSocket 连接管理

云服务的认证和会话保持

重连和错误处理

agent-browser 云端支持

# 一行切换云服务提供商export BROWSER_USE_API_KEY="***"agent-browser -p browseruse open https://example.com

原生支持 5 种云服务:

云服务
说明
Browserless
老牌云浏览器服务
Browserbase
专注AI Agent场景
browser-use
Python,MIT,97.3k stars(2026-06),内置Agent循环
Kernel
支持profile持久化(待查证)
AgentCore
AWS Bedrock集成,SigV4认证(待查证)

对于云端 Agent 来说,这个差异很大——Playwright 要自己造轮子,agent-browser 拿过来就能用。

五、安装和使用体验

Playwright 安装

# Pythonpip install playwrightplaywright install chromium# 或 Node.jsnpm install playwrightnpx playwright install chromium

首次安装要下载浏览器,大约 150MB。

agent-browser 安装

# 一条命令npm install -g agent-browseragent-browser install  # 自动下载Chrome# Homebrew(macOS)brew install agent-browser# 或 Cargo(Rust)cargo install agent-browser

安装体验差异:

agent-browser 安装更快(Rust 二进制),但需要 Node.js 24+

Playwright 安装稍慢,但语言选择更多(Python/JS/Java/C#/Go)

六、日常使用对比

Playwright 操作示例

from playwright.sync_api import sync_playwrightwith sync_playwright() as p:    browser = p.chromium.launch(headless=True)    context = browser.new_context()    page = context.new_page()    page.goto("https://example.com")    page.fill("#username", "user")    page.fill("#password", "pass")    page.click("#submit")    page.wait_for_load_state("networkidle")    page.screenshot("result.png")    browser.close()

agent-browser 操作示例

# 一系列CLI命令agent-browser open https://example.comagent-browser fill @e2 "user"          # @e2 是snapshot返回的refagent-browser fill @e3 "pass"agent-browser click @e4agent-browser wait 3agent-browser screenshot result.pngagent-browser close

或者用聊天模式(AI直理解): ⚠️待实测

agent-browser open https://example.comagent-browser chat "帮我填用户名user,密码pass,然后登录"

设计思路差异:

Playwright 是库,用代码控制,适合复杂逻辑

agent-browser 是工具,用命令控制,适合 AI 调用

七、适用场景对比

选 Playwright 的情况

✅ 需要跨浏览器(Chromium + Firefox + WebKit)✅ 团队有Python/JavaScript技术栈✅ 需要复杂操作逻辑和错误处理✅ 需要深度定制(如自己实现stealth)✅ 已有项目在用,不想切换技术栈✅ 需要在Jupyter/REPL里交互式操作

选 agent-browser 的情况

✅ 云端AI Agent(Serverless / K8s / OpenSandbox)✅ 需要快速接云端浏览器服务✅ 用Claude/Cursor等Agent直接操作浏览器✅ 追求轻量、启动快、无依赖✅ 团队是Node.js生态✅ 需要profile持久化(登录态复用)✅ 只需要 Chromium,不需要Firefox/WebKit

八、快速决策树

你的场景?├── 用什么语言?│   ├── 非Python/JS → agent-browser(CLI通用)│   └── Python/JS → 继续判断├── 需要多浏览器(Firefox/WebKit)?│   ├── 需要 → Playwright ✅│   └── 不需要 → 继续判断├── 主要在哪运行?│   ├── 本地开发 / 自己的服务器│   │   ├── 复杂业务逻辑 → Playwright ✅│   │   └── AI Agent 调用 → agent-browser ✅│   ││   └── 云端Serverless / K8s│       ├── 追求快速集成 → agent-browser ✅│       └── 追求成熟稳定 → Playwright ✅└── 需要接哪个云服务?    ├── Browserless/Browserbase/Browser Use/Kernel/AgentCore    │   └── agent-browser(原生支持)✅    └── 其他方案 → Playwright(自己接SDK)

九、关键区别总结

维度
Playwright
agent-browser
设计目标
通用的浏览器自动化框架
AI Agent专用的浏览器工具
技术栈
Python/JS等(SDK)
Rust CLI
学习曲线
稍陡(API多)
平缓(命令简单)
云端集成
需自己接
原生5种云服务
stealth
需插件
@askjo/camofox-browser(Camofox指纹伪装)
profile持久化
需自己实现
云端方案自带
维护状态
成熟稳定
活跃更新
许可证
Apache-2.0
Apache-2.0

十、今天的判断

如果你在选型阶段,核心判断就一句话:

云端 AI Agent 优先考虑 agent-browser(轻量+云端集成好),复杂项目或需要多浏览器选 Playwright(成熟+生态完善)。

两者也可以混用——本地开发用 Playwright 调试,云端部署用 agent-browser 执行。

下期预告

路线选定之后,下一篇开始真正的实操——agent-browser快速上手,让AI学会"点击"。

相关笔记

[[09-AI_Agent浏览器操作框架]] — 感知→理解→规划→执行→验证

相关学习资料