← 内容专区
内容专区 › 工具实测 · 浏览器自动化

Playwright vs Browser-Use 实测:浏览器自动化,该用哪个?

作者 追光 日期 2026-08-30 环境 macOS · Python 3.12 venv
实测浏览器自动化PlaywrightBrowser-UseAI Agent

摘要(30 秒速览)

Playwrightgithub.com/microsoft/playwright)和 Browser-Usegithub.com/browser-use/browser-use)都是"让程序操作浏览器"的工具,但定位完全不同——一个是写死步骤的脚本框架,一个是让 AI 自己开车库的 Agent

金句:Playwright 是"自动驾驶"里的车道保持——又快又稳,但只能跑画好的路;Browser-Use 是真正的"AI 司机"——能自己看路、自己变道,但开得慢,偶尔还要人搭把手。

为什么会有这篇对比

小老三想测试开源站里的"浏览器能力 Agent"工具到底好不好用,核心疑问很直接:"这个工具快吗?以前不用它我也能用 Playwright 干这些事。"

这个问题问得对。实测之后,答案不是"Browser-Use 更好",而是两个工具在解决不同的问题

PlaywrightBrowser-Use
本质浏览器自动化脚本框架浏览器 AI Agent(LLM 驱动)
怎么干活你写死步骤,它机械执行给目标,AI 看屏幕自己决定下一步
速度快(毫秒级动作)慢(每步截图+调模型,3~8 秒/步)
稳定性高(确定性执行)中(遇弹窗/验证码会判断,可能失误)
应变能力差(页面一变脚本就崩)强(能处理没预料的页面)
适用场景固定流程、要速度、要稳流程不确定、要 AI 自主、可容忍慢

安装对比(本机实录)

Playwright(快,早装好了)

pip install playwright
playwright install
# Python 3.9 就能装,本机系统 Python 直接可用
# Chromium 已缓存:~/Library/Caches/ms-playwright/chromium-1223

Browser-Use(慢在依赖门槛)

/opt/homebrew/bin/python3.12 -m venv ~/codex-agent-test/.venv
~/codex-agent-test/.venv/bin/pip install browser-use
# 装了 browser-use 0.13.8

卡点 1:Python 版本门槛——Browser-Use 要求 Python ≥ 3.11,本机 3.9.6 装不上,得用 Homebrew 的 3.12 建隔离 venv。

卡点 2:还需要一个 LLM 来驱动——Browser-Use 本身不"思考",必须接个模型(云 API 或本地 ollama)。这次接 ofox(gpt-5.6-luna),要 API Key、要花钱/或要 GPU 跑本地模型

一句话:Playwright 装完就能用;Browser-Use 装完还得配大脑(LLM)才动得了。

真实任务实测:登录 App Store Connect,排查 ClawIdle 拒审

用同一个真实场景测试两个工具:登录苹果开发者后台,找到 ClawIdle - Work Break 的拒审状态

Browser-Use 实测(AI 自主驾驶)

任务:打开 appstoreconnect.apple.com → 登录 → 找 ClawIdle → 看订阅/拒审状态。实际过程:

  1. 自动打开浏览器,识别登录页 ✅
  2. 自动填 Apple ID → AI 判断点击 ✅
  3. 填密码 → 点登录 ✅
  4. 弹双重认证(验证码)→ AI 停下,人类手动填码 ✅(人机协作)
  5. 登录成功,自动进入 App 列表 ✅
  6. 自动找到 ClawIdle - Work Break(App ID 6786612694)✅
  7. 自动读取拒审原因:"2.1.0 Performance: App Completeness" + "3.1.2 Business: Payments - Subscriptions" ✅
  8. 尝试进订阅区域 → 步骤上限到了,未完成余额部分

观察到的慢点:

  • 每一步动作前,AI 都要截图 + 看屏幕 + 想下一步 + 再执行,一步 3~8 秒
  • 大页面 loading 时,它会傻等 5 秒一次,好几轮纯等
  • 中间有绕弯:账号密码填好后没直接提交,先点了一下输入框再登录
  • 双重认证页出现时,它没按指令"立刻停",之后还误报"没出现验证码"——强交互场景判断不稳

Playwright 对照(同场景,写死脚本)

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto("https://appstoreconnect.apple.com/login")
    page.fill("#account_name_text_field", "[email protected]")
    page.click("button[id=sign-in]")
    page.fill("#password_text_field", "***")
    page.click("button[id=sign-in]")
    # 遇到验证码→脚本停在这里等人工,填完继续
    page.wait_for_url("**/apps/6786612694/distribution")
    print(page.title())

实测结论

快不快?—— Browser-Use 不快

实测速度:同一任务,Browser-Use 因为每步过 LLM,耗时是 Playwright 的数倍到十数倍"我不用 Browser-Use 也能用 Playwright 干这些事"——这话没错,而且 Playwright 更快更稳。

那 Browser-Use 到底强在哪?—— 能力,不是速度

场景谁赢
固定流程、要快、要稳Playwright
页面会变、流程不确定、临时弹窗Browser-Use
无人值守跑复杂多步任务Browser-Use ✅(它能自己看情况调方向)
需要人填验证码才能进的高安全站平手(都要人类接码,写法不同)

给开源站用户的最终建议

  1. 你只是要自动化某个具体的网站操作(下载、填表、爬固定页面)→ 用 Playwright,轻、快、免费、不用配模型
  2. 你要让 AI 自己驾驶浏览器处理不确定的流程(登录态变化、页面改版、多步决策)→ 用 Browser-Use,但它需要 LLM 成本、且接受慢
  3. 生产环境最优解:两者混用——Playwright 保底跑主流程,Browser-Use 兜底处理意外。这比只迷信任何一个都要稳

追光点评

这篇对比的价值在于它没有神话任何一个工具。很多人一听说"AI Agent 能自己开浏览器"就以为能取代脚本框架,实测提醒了这一点:AI 的每一"聪明"背后都有 LLM 延迟和成本,而脚本的每一"死板"背后都是确定性和速度

对真实产线,我始终的主张就是第三条:用 Playwright 保证主流程又快又稳,用 Browser-Use 兜底那些"没想到"的边界。两者不是竞争,是互补。

彩蛋:这篇的实测任务本身就是真实的——用它排查 ClawIdle 的拒审原因,数据和结论全部来自真机操作,零 mock。