butubb
ee559786e7
docs(research): 补「抓取弹窗老是错位」的真因——截图与元素树不是同一时刻(附实测)
用户澄清"是抓取的窗口老是会错位"。把几种常见猜测逐一实测排除:
两条通道元素树不一致(✗ 逐项相同)、CSS 缩放没跟着算(✗ 缩放比正确、
框位置与理论值一致)、窗口 resize(✗ 预览列固定 320px)、列表索引错位
(✗ indexOf 保住原始序号)。
真因是取数时序:
/api/uiauto/screenshot 0.4s + /api/uiauto/elements 1.8s(两次请求)= 间隔约 1.8s;
换成原生 u2 背靠背也仍有约 1.4s(dump 本身就要 1.3~1.8s,设备端开销改不动)。
界面只要在动(信息流/视频/动画),这两秒就足以让元素位置全变 → 框永远落在旧位置。
因为是**每次都发生**,所以表现为"老是错位"而不是偶发。
解法(写进文档待排期):①新增 /api/uiauto/snapshot 一个请求取齐(也正是
"用原始 u2"的做法,间隔降到 ~1.4s);②抓取前后各截一张做校验,不一致就
明确提示"界面在变化中,请停在静止界面再抓",而不是悄悄给一个错位的框。