最好用的 AI 版 Playwright 替代品

Playwright 把浏览器行为变成需要你维护的代码。ego(lite) 把浏览器变成你的编程 Agent 可以使用的工作区。 在我们公开的 31 个线上网站浏览器自动化任务基准测试中,ego(lite) 完美完成了 93.5% 的任务,是所有受测工具中最高的完美完成率。

ego(lite) 对比 Playwright

ego(lite) 与 Playwright 的功能对比。
功能ego(lite)Playwright
任务是怎么完成的描述任务,Agent 来操作浏览器编写并维护 TS/Python/Java/.NET 脚本
应对页面变化Agent 重新读取 Snapshot 并自动调整定位器失效后,需要你手动更新代码
已登录的网站(SSO、2FA)继承你真实的 Chrome 配置文件和会话状态空白上下文,得靠脚本登录、管理 storageState
设置安装应用,在你的 Agent 中运行 /ego-browserNode/Python 项目,安装浏览器,配置文件
AI Agent 支持专为它们打造:通过 ego-browser 支持 Claude Code、Codex、Cursor通过 codegen、playwright-cli,或者另外的 Playwright MCP 服务器
线上网站浏览器自动化(31 个任务,同一模型)93.5% 完美完成,每个完成任务 $1.75,平均 6 分 38 秒71% 完美完成,每个完成任务 $4.82,平均 10 分 48 秒(通过 playwright-cli)
并行任务Space 在一个可见的浏览器内隔离各个任务使用 Worker 和上下文,通常以无头模式运行
日常使用的浏览器是的,你在自己的 Space 里浏览,Agent 在它们各自的 Space 里工作不是,它是一个自动化库,不是你日常使用的浏览器
CI 测试套件不是测试运行器;Agent 直接处理浏览器工作是的,是目前最强的测试运行器和 CI 方案
可复用技能(即将上线)把成功的运行提炼成可复用的技能,用于重复任务(限量测试中)没有内置的同类功能
价格免费,无需订阅免费,开源

最近更新 2026年8月30日

开发者用户来自

  • Vercel
  • OpenAI
  • Anthropic
  • SpaceX
  • Google
  • Microsoft
  • DJI
  • DeepSeek
  • Kimi
  • TikTok
  • MiniMax
  • SAP
  • ZARA
  • eBay
  • Cisco
  • Trip.com
  • LINE
  • NHN
  • Hyundai Motor

浏览器自动化基准测试:ego(lite) 对比 Playwright

这项基准测试衡量的是 Agent 在线上网站上的浏览能力,而不是脚本化的测试套件:31 个多步骤任务,其中很多藏在登录墙后面,由 ego(lite) 和 Agent 驱动的 Playwright 端到端完成。

所用 Agent: pi · 模型: ChatGPT 5.6 Sol · 思考强度: max · 31 个任务

  1. ego(lite)93.5%
  2. playwright-cli71.0%

任务完成率

每个工具拿到的都是同样的 31 个任务:线上网站上的多步骤任务,很多藏在登录墙后面。只有满足全部要求才算完成,没有部分得分。 这些任务是任何预先写好的脚本都撑不过去的:在需要登录的 Redfin 上估算房贷,在实时开售中抢两张票,在 PS5 和 PC 平台上给评价最高的动作 RPG 排名。

所用 Agent: pi · 模型: ChatGPT 5.6 Sol · 思考强度: max · 31 个任务

  1. ego(lite)
    93.5%
  2. playwright-cli
    71.0%

每个完成任务的成本

失败的运行一样要付费。这里用模型总花费除以真正完成的任务数,算出的是拿到一个结果的真实成本。越低越好。

所用 Agent: pi · 模型: ChatGPT 5.6 Sol · 思考强度: max · 31 个任务

  1. ego(lite)
    $1.75
  2. playwright-cli
    $4.82

效率得分

每千次模型轮次获得的评分细则得分:衡量每次模型调用能换来多少完成的工作。越高越好。

所用 Agent: pi · 模型: ChatGPT 5.6 Sol · 思考强度: max · 31 个任务

  1. ego(lite)
    6.16
  2. playwright-cli
    4.15

平均任务耗时

全部 31 个任务中每个任务的平均实际耗时。ego(lite) 完成任务的速度比 playwright-cli 快 63%。

所用 Agent: pi · 模型: ChatGPT 5.6 Sol · 思考强度: max · 31 个任务

  1. ego(lite)
    6m 38s
  2. playwright-cli
    10m 48s

Real-World Bench 是一项开源基准测试:31 个线上网站上的复杂真实浏览器自动化任务,每个工具都由同一个 pi Agent 使用同一个模型(gpt-5.6-sol,思考强度 max)驱动,并由同一个评审模型按每个任务的评分细则打分。每项成绩都覆盖全部 31 个任务,不按单个任务挑选最好的结果。 本基准测试通过 playwright-cli 驱动 Playwright,这是 Playwright 团队为编程 Agent 推出的配套 CLI,也是目前面向 Agent 运行 Playwright 最强的方式。

为什么 ego(lite) 比 Playwright 更好

区别在于工作流放在哪里。Playwright 要你编写并不断演进自动化代码;ego(lite) 让你的 Agent 从你想要的结果出发去工作,覆盖搜索、调研、数据提取、表单、测试和日常网页任务。它可以使用你授权的浏览器状态和它自己的 Space,因此工作过程始终可见,又不会占用你的标签页。

93.5% 的任务完美完成。 没有其他工具超过 78%

Playwright 脚本的寿命,大约就和它录制时对应的那个页面一样长。Codegen 生成的定位器只捕获了某一刻的 DOM 快照,几个月后网站一改版,你就得忙着修补选择器,而不是发布新功能。即使通过微软自家的 playwright-cli 由 Agent 来驱动,这 31 个线上网站任务中仍有 29% 没能拿到满分。在 ego(lite) 中,你的 Agent 把页面读取为带稳定 @N 引用的压缩 Snapshot,并自己编写 JavaScript,所以页面变化时它会随之调整,而不是直接出错:同样的 31 个任务中有 93.5% 完美完成,按平均任务耗时计算,比由 Agent 驱动的 Playwright 快 63%。

Time to finish a task, shorter is better

  1. ego(lite)
    398 s
  2. playwright-cli
    648 s

Data source - Task: finish an average live-site job

并行多任务,执行更快

Playwright 的并行测试默认以无头(headless)模式运行。一旦切到有头(headed)模式,每个 worker 都会弹出一个独立的系统窗口,而且没法暂停某一个去接管操作,所以大多数团队还是选择用无头模式跑,事后再看 trace 文件。在 ego(lite) 里,你能打开的 Space 数量没有上限:每个 Space 都在自己独立导入的 Chrome profile 上单独跑一个任务,谁也不会抢走你正在用的标签页。你可以随时实时查看,或者接管任意一个 Space。

不再反复来回 消耗更少 Token

就算让 Agent 通过微软自家的 playwright-cli 来操作 Playwright,你还是得一个动作发一条命令:snapshot、点击一个 ref、再 snapshot、读取结果、然后决定下一条命令。在 ego(lite) 里,Agent 会把好几个动作打包进同一次 JavaScript 调用里执行,每一轮只调用一次,而且读取页面时用的是压缩后的 Snapshot,而不是完整的无障碍树转储。两者叠加起来,能把整个任务消耗的 token 总量大幅降低。

Claude Code · ego(lite)
>/ego-browser Add the first product to the cart, then check checkout loads
●Bash(
ego-browser nodejs <<'EOF' await openOrReuseTab('localhost:3000') await click('.product-card') await click('.add-to-cart') await click('a[href="/checkout"]') cliLog('checkout loaded') EOF
)
⎿Output:
[t=4480ms] checkout loaded
Done. Both steps work.
─── 1 tool call · ↑ 1.1k tokens ───
Claude Code · playwright-cli
>Add the first product to the cart, then check checkout loads
$playwright-cli open localhost:3000
⎿stdout
Opened http://localhost:3000
↑ 1.6k tokens sent so far
Storefront loaded. Snapshotting to find the first product.
$playwright-cli snapshot
⎿Snapshot
… +224 lines (ctrl+o to expand)
↑ 3.1k tokens sent so far
First product card is e12. Clicking it.
$playwright-cli click e12
⎿stdout
Clicked e12
↑ 4.9k tokens sent so far
Product page is up, refs are stale. Snapshotting again.
$playwright-cli snapshot
⎿Snapshot
… +205 lines (ctrl+o to expand)
↑ 6.8k tokens sent so far
Add to cart button is e8.
$playwright-cli click e8
⎿stdout
Clicked e8
↑ 9.2k tokens sent so far
Added. Heading to checkout.
$playwright-cli click e21
⎿stdout
Clicked e21
↑ 11.2k tokens sent so far
Confirming the checkout page actually rendered.
$playwright-cli snapshot
⎿Snapshot
… +229 lines (ctrl+o to expand)
↑ 13.6k tokens sent so far
─── 7 tool calls · ↑ 13.6k tokens ───

同样的任务,同样的模型。 左边:ego(lite) 里一次打包的 JavaScript 调用,总共 1.1k Token。 右边:通过 playwright-cli 驱动 Playwright,7 次往返,token 数涨到 13.6k。

同一个 Chrome,为 Agent 而生

一个全新的 Playwright context 是完全空白的,所以想要真实的登录态,就得自己写脚本登录、保存 storageState,然后祈祷这些 token 能撑到测试跑完。可一旦服务方轮换 refresh token(比如 Auth0 在开启 MFA 之后那样),保存的状态照样会失效。ego(lite) 一键导入你完整的 Chrome 配置文件:Cookie、会话和扩展程序全都一起带过来,所以 Agent 一启动,就已经在你登录过的所有地方保持登录状态。

让切换无缝衔接

你不需要把 Playwright 测试迁移到 ego(lite),留着它们就好。真正迁过来的,是你希望 Agent 直接处理的浏览器工作:搜索、调研、数据提取、表单、测试,以及 CI 套件之外需要登录的工作流。

1

下载 ego(lite)

下载 ego(lite),一键导入你的 Chrome 配置文件。那些测试上下文里从来没有的登录状态,也会一起带过来。

2

用 /ego-browser 运行你的第一个任务

在 Claude Code、Codex 或 Cursor 中运行 /ego-browser。不需要项目脚手架,也不需要 playwright.config。

粘贴到你的 Agent 里

/ego-browser 打开 ego.app,列出导航栏里的每一个链接

3

看它开始工作

把你原本要写脚本才能完成的任务交给 Agent,比如从需要登录的仪表盘里提取数据,或者走一遍结账流程,只用一句话把任务描述清楚就行。

ego(lite) 的 Space 概览,四个浏览器任务并排运行:Claude Code 在 Yahoo Finance 上追踪苹果股价,Codex 在 cars.com 上按年份筛选车型,Hermes 在完成一项 SaaS 后台任务,一位用户在抓取 X 上的数据,还有一只手正在点击 + 打开另一个 Space

确定性的端到端 CI 测试套件继续交给 Playwright。ego(lite) 负责围绕它们、由 Agent 驱动的浏览器工作,从问题排查和搜索,到实时检查和数据收集。

各工具的适用场景

以下情况选择 ego(lite)

  • 这些工作都藏在登录状态背后:仪表盘、管理后台、SSO,专门写脚本去管理 storageState 并不值得。
  • 你更愿意直接把任务描述给 Claude Code、Codex 或 Cursor,而不是搭建测试项目、维护定位器(locator)。
  • 你想在多个并行的 Space 里同时检查几条流程,同时还能在同一个浏览器里继续自己浏览。
  • 你关心单个任务的 token 成本:Snapshot 输入叠加批量 JavaScript,两者叠加起来能让整个任务的花费保持低廉。

以下情况选择 Playwright

  • 你在构建需要提交进代码库、在 CI 中确定性运行的端到端测试套件。这正是 Playwright 的核心优势。
  • 你依赖它的测试运行器、自动等待(auto-waiting)、trace viewer 和代码生成(codegen),这些工具大多数竞品仍然没有。
  • 你需要覆盖 Firefox 和 WebKit。ego(lite) 只支持 Chromium。
  • 你的团队要同时用 TypeScript、Python、Java 或 .NET 工作,并且希望每种语言都有一流的绑定支持。

将 ego(lite) 与其他浏览器自动化工具对比

与 Puppeteer、Playwright MCP、Claude Chrome extension、Browser Harness 以及另外 7 款工具的逐项对比。

常见问题

Playwright 是什么?

Playwright 是微软开源的自动化框架,支持 Chromium、Firefox 和 WebKit,并为 TypeScript、Python、Java 和 .NET 提供一流的绑定支持。它的测试运行器、自动等待、trace viewer 和 CI 集成在同类工具中最强,对于需要提交进代码库、确定性运行的端到端测试套件来说,它是最难被超越的工具。微软还推出了 playwright-cli,这是 Playwright 团队为 Claude Code、Copilot 等编码 Agent 打造的、注重 token 消耗的配套 CLI 工具。本页讨论的是核心框架本身及其脚本化和 CLI 工作流;Playwright MCP 作为面向 Agent 的独立 MCP 服务器,有专门的对比页面。选择 Agent 驱动方案的开发者,也会同时权衡 Browser Use vs Playwright 和 Stagehand vs Playwright,因为这三者都是目前 LLM 驱动浏览器操作技术栈中的常见选项。

ego(lite) 是不是一个好的 Playwright 替代品?

对于由 AI Agent 驱动的浏览器操作来说,是的:不用写脚本,直接用真实登录状态,还能开多个并行 Space,这让它成为少数专门为 Agent 打造、而不是让你写更多脚本的 Playwright 替代品之一。但对于要提交进 CI 的端到端测试套件来说,答案是不。Playwright 的测试运行器、trace 追踪和跨浏览器覆盖能力确实非常出色,这些场景你应该继续使用它。诚实地说,分工很清楚:需要提交的测试交给 Playwright,需要委托的任务交给 ego(lite)。

ego(lite) 对比 Playwright 的基准测试是怎么跑的?

两者跑的是同一套 31 个复杂的真实浏览器自动化任务,全部在线上网站上执行,由同一个 pi Agent 使用同一个模型(gpt-5.6-sol,思考强度 max)驱动,并由同一个评审模型按每个任务的评分细则打分;每项成绩都覆盖全部 31 个任务。Playwright 通过 playwright-cli 参测,这是 Playwright 团队为编程 Agent 推出的配套 CLI,也是目前面向 Agent 运行 Playwright 最强的方式。ego(lite) 完美完成了 93.5% 的任务,每个完成任务的成本为 $1.75,平均任务用时快 63%;由 Agent 驱动的 Playwright 完美完成了 71%,每个完成任务的成本为 $4.82。测试框架、任务、评分细则和原始结果都已在 GitHub 上的 ego-browser-benchmark-framework 仓库开源,因此每个数字都可以审计或复现。

Playwright vs Puppeteer vs Selenium:该选哪个?

这三者都是以脚本为核心的框架,无论你搜索的是 playwright vs puppeteer 还是 puppeteer vs playwright,答案都一样。新建测试套件时 Playwright 更占优:运行速度最快,有自动等待,支持 TS/Python/Java/.NET,还能覆盖三种浏览器引擎。如果你只用 Node 操作 Chrome,想要一个精简的 DevTools 级 API,Puppeteer 更合适。如果你看重 W3C WebDriver 标准、广泛的语言绑定,或者已经有企业级 Grid 在用,Selenium 更合适。ego(lite) 扮演的是完全不同的角色:由 AI Agent 来完成浏览操作,而不是靠脚本,没有代码需要维护,而且已经接入了你真实的登录态。

Playwright vs Selenium:各有什么优缺点?

Selenium vs Playwright 归根结底是两边各有取舍。Playwright:执行更快,内置自动等待,测试运行器更现代,还配有 trace viewer、codegen 这类工具;代价是生态相对年轻。Selenium:拥有 W3C WebDriver 标准,语言绑定和老旧浏览器覆盖范围最广,还有二十年的企业级应用积累;代价是代码更冗长,等待逻辑需要更多手动处理。如果你今天要选一个测试框架,大多数团队会选 Playwright。如果工作是由 Agent 驱动而不是靠脚本完成,可以在我们的 Selenium 对比页面看看 ego(lite) 和 Selenium 的比较。

那 Playwright MCP 或 playwright-cli 对 AI Agent 来说怎么样?

两者都是把一个全新的 Playwright 浏览器包装给 Agent 使用,而且都仍在空白配置文件里一个操作执行一条命令:Playwright MCP 用的是 MCP 工具调用,playwright-cli 用的是 CLI 调用。ego(lite) 则在每轮里用 JavaScript 批量执行多个操作,以压缩后的 Snapshot 读取页面,并从你真实的已登录 Chrome 配置文件起步。在这 31 个线上网站任务中,这一差异体现为 93.5% 对 71% 的完美完成率、每个完成任务 $1.75 对 $4.82 的成本,以及平均任务用时快 63%,其中代表 Playwright 参测的是 playwright-cli。完整拆解见 ego(lite) 对比 Playwright MCP 页面。

Playwright 能用我已有的 Chrome 登录状态吗?

部分可以。你可以在脚本登录后保存 storageState,或者启动一个指向某个 Chrome 配置文件目录的持久化上下文(persistent context),但会话会过期,2FA 和 SSO 会打断脚本化登录,而且配置文件没法和正在运行的 Chrome 共用。ego(lite) 只需导入你的配置文件一次,之后 Agent 就会一直继承真实的登录状态。

ego(lite) 免费吗?

是的。免费使用,无需订阅,数据本地存储。你的 Agent 连接的 ego-browser shell是基于 MIT 协议的开源项目。

为什么 Playwright 测试在 CI 里时好时坏,该怎么修?

CI 里的不稳定通常来自共享状态、不稳定的选择器、竞态条件、资源压力,或是假定了固定延迟的测试。请使用隔离的 fixture、基于定位器的断言、对有意义的应用状态进行等待、用于诊断的有限次重试,以及 trace 产物。ego(lite) 并不能替代 CI 测试运行器:它可见的 Space 能帮 Agent 排查交互式故障,而对于已提交的确定性测试套件,Playwright 仍然是正确选择。

ego(lite) 或 Playwright 能绕过 Cloudflare、CAPTCHA 或 Akamai 吗?

没有任何工具能保证做到这一点,本页也不提供绕过方法。被拦截是一种访问控制决定:请遵守网站的条款、robots 规则和速率限制,使用官方 API 或获得授权的数据源,申请许可,或者停下来。ego(lite) 可以用你自己经过授权的浏览器会话访问你本来就能看到的内容,但真实的 Chrome 配置文件、住宅 IP、stealth 插件或鼠标模拟都不代表一定能访问,也不得用于规避封禁。

有没有选择器不那么脆弱的 Playwright 替代方案?

对于交互式、由 Agent 驱动的工作,ego(lite) 让 Agent 读取当前页面再选择操作,而不是为每个一次性任务维护一个生成出来的选择器。这能减少脚本维护,但并不会让一个不断变化的网站神奇地变稳定:请保留带来源链接的结果,核对重要字段,并继续用 Playwright 做断言和可重复的 CI 覆盖。就 Playwright 本身而言,优先使用 role、label、test ID 和稳定的应用契约,而不是生成的 CSS 类名。

AI Agent 能用自然语言编写和修复 E2E 测试吗?

Agent 可以把一个用自然语言描述的场景转成 Playwright 代码,运行测试套件,检查 trace,并在受控分支里提出或应用修复。但它仍然需要清晰的断言约定、测试数据和人工审核:Agent 可能通过削弱断言或掩盖产品 bug 来让测试变绿。ego(lite) 适合在真实会话里探索一个流程;当某个行为必须在 CI 里运行时,再把验证过的行为固化为已提交的 Playwright 测试。

Playwright 替代方案应该如何处理第三方 iframe 和动态内容?

把 iframe 当作一个独立的浏览上下文,等待能证明它已就绪的 frame 或应用状态,不要依赖随意设定的 sleep。对于类似 Stripe 的第三方结账,使用服务商支持的测试模式和稳定的标签,并让密钥远离 fixture。Agent 可以检查实时的 frame,并在布局变化后恢复,但它无法解除跨源限制,也不能保证服务商的 UI 会一直可用。

为你的 Agent 配备真实浏览器

免费使用,运行在你的电脑上,一键导入 Chrome 浏览器配置文件。支持 Claude Code、Codex、Cursor,以及任何能写代码的 CLI Agent。