AI看见一个“保存”按钮,并不意味着它知道保存的是哪条记录。网页中的按钮位置会受窗口宽度、弹窗和加载状态影响;即便点击成功,也可能作用于错误对象。本文讨论自有或已授权网站中的自动化设计,没有对任何第三方页面进行操作测试。
先找到对象,再找它的按钮
Playwright官方文档提供按角色、标签及可访问名称定位控件的方法,并对需要单一目标的操作采用严格匹配。对业务系统而言,可以把“编辑第几行”改成“定位订单编号对应的行,再查找该行内的编辑按钮”。名称帮助识别控件,业务编号帮助确认对象,两者不能互相替代。
模拟活动后台中同时有“保存活动”和“保存联系人”,让模型只寻找第一个“保存”很容易产生歧义。更稳妥的实现应同时检查所在表单、标题与目标记录。若存在多个候选,就返回待确认情况,而不是用位置顺序消除报错。
页面改变后重新读取当前状态
前一步打开侧栏后,页面结构可能已变化,之前保存的屏幕坐标和文本判断不应直接沿用。流程可在关键状态变化后重新确认目标存在、可用并属于当前任务。等待固定几秒可以掩盖部分加载问题,却不能证明页面已经准备好。
这里也要区分“控件可以操作”和“用户已经同意操作”。一个可点击的发布、付款或发送按钮,不会自动赋予智能体执行权限。授权范围应在任务规则中单独确定,不让页面内容临时扩大操作目标。
最后一项检查是业务结果
模拟保存联系方式,执行后应重新读取保存值及所属记录,检查是否符合用户确认的内容。如果接口报错或结果不明,应先核对状态,避免无条件再点一次而制造重复动作。
排查记录保留页面版本、目标对象、定位依据、执行时间和结果,敏感字段脱敏保存。对小团队来说,这些材料能帮助判断故障来自网页改版、错误资料还是模型判断,而不是每次都把提示词重新写一遍。延伸阅读:重复回调与业务编号。