# 271 采购地址入口有限下滑识别 - 类型:缺陷 - 父级大工单:#96(Client Epic #1) - 所属 MVP / 版本:#253 采购运行时 AI 规格纠偏闭环 - 状态:待验收 - 日期:2026-08-18 - Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/271 ## 背景与目标 规格面板停留在较低位置时,联系人和收货地址可能没有出现在无障碍控件树中,导致地址入口识别失败。本任务在点击地址前有限下滑并重新读取控件树,提升采购地址修改流程的兼容性,同时保持安全点击门禁。 ## 最终方案 首次读取控件树时如果已经有唯一地址入口,不增加滑动。否则只在唯一的规格面板滚动区域内向下做最多 3 次小幅滑动,每次等待并重新读取控件树;检测到页面无进展、滚动区域消失或页面离开确认页时安全失败。识别到唯一入口后继续原有地址修改、保存、返回和不可逆阶段门禁。 ## 改了哪些 - `client/src/pdd_u2_purchase_adapter.py`:增加地址入口准备、有限下滑、页面检查、无进展检测和脱敏诊断。 - `client/test/test_pdd_u2_purchase_adapter.py`:增加地址入口被裁剪后下滑一次重新识别的脱敏回归测试。 ## 验收结果 | 验收标准 | 结果 | |---|---| | 地址入口已唯一可见时不滑动 | 通过(既有测试覆盖) | | 地址入口被裁剪时有限下滑后重新识别 | 通过(新增测试) | | 滑动有上限且无进展时安全失败 | 通过(代码路径检查) | | 地址修改、保存、返回确认页和不可逆门禁不变 | 通过(既有地址流程测试) | ## 测试 - 执行的命令:`C:/Python310/python.exe -m pytest test/test_pdd_u2_purchase_adapter.py -q` - 结果:70 passed。 - 额外执行:`C:/Python310/python.exe -m pytest test -q`,534 passed、2 failed;失败为现有版本号测试期望 `0.1.0`,当前工作区版本为 `0.1.3`,与本任务无关。 - **没验证到的部分**:尚未连接真实 Android 设备验证不同 PDD 版本的地址入口滚动行为。 ## 遗留问题 需要在真实设备上确认规格面板实际滚动容器是否稳定暴露 `scrollable=true`。 ## 相关提交 - `bee3cb0` `fix: 规格面板地址入口有限下滑识别 (#271)`