news 2026/10/23 3:06:16

Playwright MCP 每次都要重新登录?三种 Agent 浏览器方案实测与选型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Playwright MCP 每次都要重新登录?三种 Agent 浏览器方案实测与选型

一、问题:临时浏览器实例的身份断点

让 Agent 操作网页的主流方案(Playwright MCP、chrome-devtools-mcp 等)工作流是这样的:Agent 调用工具 → 服务端起一个干净的浏览器实例 → 跑完即弃。

这个形态有一个结构性断点:你的登录态不在那个实例里。

短信验证码、扫码记录、2FA、公司 SSO——全在你桌面上那个常驻浏览器里。于是每次自动化都卡在同一个地方:登录。而这恰好是整个流程里最贵、最不可自动化的部分(滑块、验证码就是设计来拦程序的)。

更糟的是 canvas 类应用(Excalidraw、ComfyUI、各类数据大屏)在 DOM 层是空的,基于 DOM 快照的方案在这里什么都读不到。

二、三种方案对比

维度截图流Playwright MCP常驻语义树浏览器
感知输入截图 + 视觉模型DOM 快照带 role/label/稳定 ID 的语义树
上下文成本高(每步一张图,视觉 token)中低(纯文本)
登录态需重新登录需重新登录复用常驻会话
富文本编辑器光标进不去视站点而定CDP 受信输入,无网站特判
canvas 内容OCR 猜读不到绘制调用层直接取字符串
操作验证无(toast 一闪而过)无前后快照 diff,显式 changed/unchanged
人工接管不可不可随时抢鼠标,Agent 等待

三个关键差异展开说:

1)登录态。常驻方案的窗口就是你平时用的那个浏览器,登录一次长期有效。遇到人机验证,人直接动鼠标完成,Agent 在对话里等着——没有交接 API,也没有权限弹窗。

2)canvas 不需要 OCR。2D canvas 的文字是在ctx.fillText()里画出来的,在绘制调用层把字符串截下来即可:

{"text":"AI Browser wrote this - no screenshot, no OCR","font":"20px Excalifont, Xiaolai, sans-serif","at":{"x":10,"y":13.2,"width":937.4,"height":42.2}}

字体、坐标、颜色全在。只有 WebGL 保留截图路径,且默认关闭。

3)验证必须是原语。工具返回 success 但页面没变,是这类自动化里最高频也最贵的一类故障。把"操作生效了没有"做成前后快照对比(显式判定 + 前后值 + JSON path),错误在第一步就被拦住,不会被放大到第三步。

三、选型决策树

按三个问题选:

  1. 是否需要真实登录态?(扫码/2FA/SSO 场景)
    • 是 → 临时实例方案全部出局,选常驻方案
    • 否 → 继续
  2. 目标是否涉及 canvas 渲染的应用?
    • 是 → DOM 快照方案出局;截图方案要看 token 预算
    • 否 → 继续
  3. 是否需要"操作已生效"的可验证判据?
    • 是 → 必须选带 diff 原语的方案
    • 否 → 三者皆可,按 token 成本选

四、可运行示例(常驻语义树方案)

安装与启动:

npx-y@glittering0717/ai-browser mcp

MCP 配置:

{"mcpServers":{"ai-browser":{"command":"npx","args":["-y","@glittering0717/ai-browser","mcp"]}}}

语义树读取返回的节点示例:

{"role":"textbox","label":"请输入文章标题(5~100 个字)","value":"","states":["visible","focused"],"actions":["type","clear","focus"]}

已验证的真实站点:知乎(Draft.js 全流程发稿)、CSDN(CKEditor + Markdown 导入)、百度/Bing 搜索、东方财富(2458 节点)、Excalidraw(canvas 文本读取)。

五、FAQ

Q1:常驻浏览器会不会被 Agent 乱点?
A:点击输入全部走 CDP 受信事件,且窗口支持后台操作不抢焦点;人随时可以动鼠标接管。控制端口只绑 127.0.0.1 且无鉴权,不要转发该端口。

Q2:和 chrome-devtools-mcp 什么关系?
A:如果目标就是 Chrome DevTools 协议本身的自动化,两者重叠较多;差异在"常驻可见窗口 + 登录态复用 + canvas 读取 + diff 验证"这四件事,README 里有完整对比。

Q3:支持 Windows 吗?
A:macOS/Linux 已测,Windows 未测。首次启动需拉约 110MB Electron 引擎,国内可设ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/。

Q4:为什么不用截图 + 视觉模型,看起来更通用?
A:成本结构不可持续——每步一张图,视觉 token 是纯文本的几十倍;坐标绑像素,滚动/弹窗/响应式变化全部失效;toast 一秒消失,截图来不及。

六、小结

Agent 浏览器的分歧点不在"能不能点",在"用什么当输入、身份从哪来、怎么确认生效"。三个问题问完,选型自然清晰:要登录态选常驻,要 canvas 选绘制层读取,要确定性选带验证原语的方案。

本文所有对比数据来自真实发稿任务的逐平台记录,项目开源(MIT):https://github.com/Glittering/ai-browser

跑不通欢迎评论区贴日志,那比 star 更有价值。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 3:05:40

在深圳公司商标设计注册网上申请全流程,不用跑大厅

深圳有个做食品的创业者老赵,去年想注册商标,打开中国商标网,翻了一圈,发现要注册账号、填申请书、选类别、上传图样、缴费。他填了三个小时,点提交,系统弹出一行字:“申请人名称与身份证明文件…

作者头像 李华
网站建设 2026/10/23 3:05:38

几百个 3D 模型出包前处理,一定要装插件吗

别急着往引擎里装插件——这一步本来就放错地方了。 📌 我踩过这个坑 之前接了个交付,工程里三百多个模型,出包前要统一压一遍。我一开始的想法是装个引擎内的处理方案,资产拖进来就自动跑,多省事。 结果换台机器、换个…

作者头像 李华
网站建设 2026/10/23 3:05:37

AI写作辅助网站8款AI写作辅助软件排行榜,毕业答辩稳了!

四大测评维度解析: 学术专业性:工具是否理解学术规范,输出内容是否符合论文逻辑与深度要求。文献支撑能力:能否引用真实、权威的参考文献,避免"空中楼阁"式生成。查重合规性:生成内容的原创性如何…

作者头像 李华
网站建设 2026/10/23 3:05:02

AppStore隐私政策网址(URL)

隐私政策 简体中文:隐私政策 更新日期:2026 年 10 月 21 日 1. 适用范围与联系我们 本政策说明链接至本页面的应用如何处理信息。“本应用”指该应用,“我们”指其开发者及运营方。如有隐私问题、意见,或希望访问、更正、删除您主…

作者头像 李华
网站建设 2026/10/23 3:04:47

短期兴趣和长期兴趣推荐调研

我之前是没加短期兴趣的,只用了长期兴趣经历了四步 召回,粗排,精排,重排,现在加上短期兴趣之后,短期兴趣是如何影响四步的?要重新经理一遍四步吗? 结合你们华为 O3 社区现有的推荐架构,我的建议是:加入短期兴趣后,不需要把原来的四步推荐流程推倒重来,而是要让短期兴趣在…

作者头像 李华
网站建设 2026/10/23 3:04:12

Linux 学习笔记(十三):高效排错利器——GDB 调试器入门

一、 Debug 与 ReleaseLinux 下 GCC 编译出的程序默认是 Release(发布版),不包含调试信息。如果我们需要使用 GDB 进行调试,必须在编译时加上 -g 选项:gcc test.c -o test -gGDB(GNU Debugger)通…

作者头像 李华