题目
如何设计浏览器 Agent,处理页面变化、元素失效和操作结果验证?
答案
每轮先观察当前页面,结合 URL、可访问性树、DOM 或截图定位目标。定位优先使用角色、可见名称和稳定属性,避免长期依赖绝对坐标。 页面跳转、弹窗和动态更新后重新获取状态,旧元素引用可能已经失效。等待具体条件出现,例如按钮可用、加载结束或结果区域更新,而不是固定休眠后盲目点击。 操作后验证实际结果:URL 是否变化、表单是否提交、业务状态是否更新。点击动作成功不代表业务成功,网络超时或重复点击也可能产生重复操作。 将浏览器会话、下载目录和账号权限隔离,外部页面文字按不可信内容处理。支付、删除、对外发送等操作在执行前核对目标与授权;遇到验证挑战或权限障碍时交给用户处理。