AI 浏览器自动化:智能体如何取代脆弱的网页脚本
AI 浏览器自动化的原理,为什么它能挺过让 Selenium 和 Playwright 失效的页面改版,以及什么情况下脚本仍是更好的选择。
AI 浏览器自动化使用模型读取当前页面、选择下一步操作并执行,而不是回放录制好的选择器路径。因为它瞄准的是含义而不是 DOM 结构,所以能挺过页面布局的改动,也能在没有 API 的网站上运行。对于高频、稳定不变、对延迟敏感的场景,确定性脚本仍然是更好的选择。
传统浏览器自动化会在哪里失效
Selenium、Playwright 以及所有录制回放型工具,记录的都是脚本编写那一刻页面的样子:这个按钮、这个选择器、这个位置。脚本并不理解页面,只是重复坐标。一次 class 重命名、一次 A/B 测试,或者一个新出现的同意横幅,就足以让它失效,而且这种失效通常是悄无声息的,直到有人检查输出才会发现。
真正的成本在于维护。团队放弃浏览器自动化,往往不是因为它一开始就不好用,而是因为维持它正常运行所耗费的工程时间,超过了它节省下来的工作量。
- 改版、A/B 测试和本地化都会让选择器失效
- 脚本分不清「按钮挪动了」和「按钮消失了」
- 每个新网站都意味着一个新脚本和一个新的维护者
- 失败往往悄无声息,导致错误数据一路流向下游
智能体的不同之处
智能体把页面读取为一组有意义的元素结构,判断哪一个匹配当前意图,执行操作,然后再次读取页面以确认发生了什么变化。这个循环是观察、判断、执行、验证。因为目标是通过含义而不是位置来描述的,同一条指令能挺过一次改版。
这也让失败变得可读。脚本只会报告找不到选择器,而智能体可以报告:按钮已被点击,页面没有变化,而它点到的其实是一个悬停菜单。
- 目标是根据角色、标签和上下文来选择的,而不是根据 DOM 路径
- 每次操作的结果都会先验证,再执行下一步
- 页面变化后会重新读取,而不是凭假设行事
- 整个运行过程都用人可以核实的方式做出解释
什么情况下确定性脚本仍然更好
这里需要实话实说。当页面会变化、没有 API、且会有人核实结果时,智能体是正确的工具。而对于高频、稳定不变、对延迟极为敏感、每一毫秒和每一分钱都很关键,并且页面完全在你掌控之下的场景,确定性脚本仍然更好。
一个不错的判断标准:如果页面是你自己的,而且从不改动,就写脚本;如果页面不是你的,而且说变就变,就用智能体。
常见问题
AI 浏览器自动化比 Selenium 更好吗?
对于会变化的第三方网站,是的,因为没有选择器会失效。而对于你自己掌控的稳定页面、且需要高频运行的场景,确定性脚本更快也更便宜。
它需要无头浏览器吗?
不需要。Melaya 以扩展的形式运行在你真实使用的浏览器中,因此可以直接使用你已登录的会话,而不必在无头环境里重新登录。
它如何处理发生变化的页面?
它在每次操作后都会重新读取页面,因此布局变化是被观察到的,而不是被假设出来的。这正是确定性脚本所缺少的循环。
