Skip to content

高级|浏览器自动化:snapshot / refs / act 最佳实践(SOP)

目标:让网页自动化更稳定——页面小改动也不容易挂。


适用场景

  • 需要登录
  • 需要点按钮/填表/下载文件
  • 内容是 SPA 动态加载(web_fetch 抓不到)

不适用:

  • 页面无需交互、内容在静态 HTML 中(优先 web_fetch

前置条件

  • 你能打开目标网页(网络可达)
  • 如果需要登录:你愿意提供账号信息(建议最小权限/临时口令)

稳定自动化的标准套路(强烈推荐)

  1. 打开页面(必要时)
  2. browser.snapshot(refs="aria")
  3. 选择稳定 ref(按钮/输入框/列表区域)
  4. browser.act(kind=click/type/select) 执行动作
  5. snapshotscreenshot 做验收

关键点:每做一次关键动作,就做一次 snapshot/screenshot 验证


避免的反模式(最常见翻车点)

  • 只靠坐标点击:页面滚动/布局变化就点歪
  • 频繁 act:wait:等不来就卡死
  • 不做中间验收:失败了不知道卡在哪一步

排错 SOP(点不到/找不到 ref 时怎么做)

1) ref 找不到

  • 重新 snapshot(refs="aria"),不要复用旧 ref
  • 优先用 aria ref(比 role/name 更稳)

2) 页面元素在滚动后才出现

  • 先定位滚动容器(列表区域)
  • 用滚动/翻页动作,再 snapshot

3) 登录后页面结构变化

  • 登录成功后立刻 snapshot 一次
  • 后续 ref 全部以“登录后 snapshot”为准

最小示例(你怎么说)

打开某网页,登录后把“订单列表前 20 条”抓出来,输出字段:标题、链接、日期。抓完后截图确认。

小艺会按:open → snapshot(aria) → act(登录) → snapshot → act(抓取/滚动) → 输出表格 → screenshot。