
浏览器自动化在被视为后端自动化时会失败。
规则不同。
以下是仅当自动化在真实网页内(而非 API)运行时才会出现的实用规则。
规则 1:页面不是稳定目标
今天的页面与明天的页面不同。
元素移动。
标签更改。
出现弹出窗口。
假设稳定的自动化将会悄无声息地失败。
自动化必须假设移动。
规则 2:可见性比选择器更重要
重要的不是元素在 DOM 中的位置,而是它是否可见、可点击和活动。
人类与他们所看到的东西进行交互。
浏览器自动化也必须做同样的事情。
规则 3:等待就是一种行动
加载状态是任务的一部分。
旋转、延迟、部分渲染 - 这些都不是错误。
它们是正常情况。
不刻意等待的自动化将会导致失败。
规则 4:重复绝不相同
任务是有意重复,而不是形式重复。
第二次执行总是包含微小差异。
第十次执行包含许多差异。
自动化必须容忍变化,而不是消除变化。
规则 5:错误很少自行显现
大多数失败看起来就像什么都没发生。
没有确认。
没有错误消息。
只是沉默。
自动化必须将缺席检测为信号,而不是假设成功。
规则 6:登录是一个工作流程,而不是一个步骤
身份验证不是单一操作。
会话过期。
安全层发生变化。
验证流程出现不可预测。
将登录视为一次性步骤的自动化将不断重新启动。
规则 7:接口包含未记录的工作
滚动、悬停、关闭叠加层 - 这些操作从未写入需求中。
但它们是必要的。
自动化通过显式执行来暴露这种隐藏的劳动。
规则 8:速度其次于恢复
快速失败比缓慢完成更糟糕。
可以重试、暂停或重置的自动化比快速完成和中断的自动化更有价值。
规则 9:页面定义规则
API 遵守合同。
页面不遵守合同。
该界面定义了随时可能发生的事情。
自动化必须先读取页面,然后再对其进行操作。
规则 10:人的判断不会消失
自动化决定如何采取行动,而不是应该发生什么。
人类仍然定义意图、限制和例外。
浏览器自动化在判断和执行分离时起作用。
SaleAI 上下文(基于规则的观察)
在 SaleAI 中,浏览器代理遵循规则驱动的行为而不是严格的脚本。
它们在页面可见性、交互状态和界面反馈所形成的约束下运行,从而使它们能够在各种不断变化的网站上运行。
这反映了运营规则,而不是营销主张。
结束规则
如果自动化不尊重浏览器作为一个环境,它总是会让人感觉脆弱。
浏览器自动化只有在遵循界面本身制定的规则时才变得可靠。
