修复商品详情重复滑动导致无法进入规格面板 #36

Closed
opened 2026-08-07 18:06:34 +08:00 by ila · 6 comments
Owner

基本信息

  • 类型:缺陷
  • 父级大工单:#1
  • 所属 MVP / 版本:#2 / MVP
  • 关联:#32、#35
  • 参考实现:client/src/demo1/auto_v1.py 第 64–90 行

问题

正式采集流程进入商品页后,先执行 _collect_goods_details(),最多纵向滑动 12 次(检查 13 屏)寻找标题、已拼数量、评价数量。评价节点在当前 PDD 无障碍树中不存在时,流程报 PDD_DATA_REVIEWS_MISSING,不会执行后面的规格入口点击。

任务 COL-6b50a08c86a9e7b9 已复现:错误为 PDD_DATA_REVIEWS_MISSING;诊断 XML 中没有评价/评论节点,但 get_size_panel_coord() 已能得到规格入口 (763, 2247)。

实验脚本 auto_v1.py 的有效顺序是:商品页加载 → dump 首页 XML → 找规格入口 → 立即点击 → dump 规格面板。它不会先滚动商品详情页。

方案

  1. 商品页就绪后只读取当前首页控件树,不进行详情页纵向扫描。
  2. 标题继续必填并校验;已拼数量按当前首页采集。
  3. 评价数量、店铺名称改为可选,采不到保留空值和原文证据,不阻塞核心规格采集。
  4. 使用当前首页 XML 立即调用 get_size_panel_coord() 并点击。
  5. 点击后增加规格面板等待:循环 dump 控件树,直到 parse_spec_panel() 能识别滚动区域和规格维度;登录、验证码等错误立即停止。
  6. 面板等待超时使用稳定代码并保存最后 XML,不直接开始滑动。
  7. 面板确认打开后,才执行颜色横向扫描、尺码纵向扫描和按颜色采价。
  8. 不导入实验脚本,不复制其中硬编码设备、商品号、当前目录写文件或下单相关代码。

验收标准

  • 商品页加载后不会为了寻找评价连续纵向滑动。
  • 当前首页 XML 能定位规格入口时立即点击。
  • 评价和店铺为空不会阻止进入规格面板。
  • 标题缺失仍结构化失败。
  • 点击后必须确认规格面板已出现,不能用固定 sleep 直接假定成功。
  • 面板未出现时返回稳定错误并附最后 XML 诊断。
  • 面板确认后才开始颜色/尺码扫描。
  • 真实诊断 XML collect-failed-9fbf6651ae83.xml 可算出入口 (763, 2247)。
  • Client 全量测试通过。
  • 真机只读验证进入规格面板;不加购、不下单、不付款。

不做

  • 不调用 get_order_button()。
  • 不选择下单确认按钮。
  • 不修改采购流程和自动循环领取。
## 基本信息 - 类型:缺陷 - 父级大工单:#1 - 所属 MVP / 版本:#2 / MVP - 关联:#32、#35 - 参考实现:`client/src/demo1/auto_v1.py` 第 64–90 行 ## 问题 正式采集流程进入商品页后,先执行 `_collect_goods_details()`,最多纵向滑动 12 次(检查 13 屏)寻找标题、已拼数量、评价数量。评价节点在当前 PDD 无障碍树中不存在时,流程报 `PDD_DATA_REVIEWS_MISSING`,不会执行后面的规格入口点击。 任务 `COL-6b50a08c86a9e7b9` 已复现:错误为 `PDD_DATA_REVIEWS_MISSING`;诊断 XML 中没有评价/评论节点,但 `get_size_panel_coord()` 已能得到规格入口 `(763, 2247)`。 实验脚本 `auto_v1.py` 的有效顺序是:商品页加载 → dump 首页 XML → 找规格入口 → 立即点击 → dump 规格面板。它不会先滚动商品详情页。 ## 方案 1. 商品页就绪后只读取当前首页控件树,不进行详情页纵向扫描。 2. 标题继续必填并校验;已拼数量按当前首页采集。 3. 评价数量、店铺名称改为可选,采不到保留空值和原文证据,不阻塞核心规格采集。 4. 使用当前首页 XML 立即调用 `get_size_panel_coord()` 并点击。 5. 点击后增加规格面板等待:循环 dump 控件树,直到 `parse_spec_panel()` 能识别滚动区域和规格维度;登录、验证码等错误立即停止。 6. 面板等待超时使用稳定代码并保存最后 XML,不直接开始滑动。 7. 面板确认打开后,才执行颜色横向扫描、尺码纵向扫描和按颜色采价。 8. 不导入实验脚本,不复制其中硬编码设备、商品号、当前目录写文件或下单相关代码。 ## 验收标准 - [ ] 商品页加载后不会为了寻找评价连续纵向滑动。 - [ ] 当前首页 XML 能定位规格入口时立即点击。 - [ ] 评价和店铺为空不会阻止进入规格面板。 - [ ] 标题缺失仍结构化失败。 - [ ] 点击后必须确认规格面板已出现,不能用固定 sleep 直接假定成功。 - [ ] 面板未出现时返回稳定错误并附最后 XML 诊断。 - [ ] 面板确认后才开始颜色/尺码扫描。 - [ ] 真实诊断 XML `collect-failed-9fbf6651ae83.xml` 可算出入口 `(763, 2247)`。 - [ ] Client 全量测试通过。 - [ ] 真机只读验证进入规格面板;不加购、不下单、不付款。 ## 不做 - 不调用 `get_order_button()`。 - 不选择下单确认按钮。 - 不修改采购流程和自动循环领取。
Author
Owner

真机只读验证结果:#36 的目标已通过。设备 192.168.0.173:5555 在线后,正式 PddCollectService 不再在商品详情页为评价连续滑动,立即点击规格入口并成功进入规格面板。当前控件树可解析到规格面板、价格 370 分和 8 个颜色;全程没有点击确认购买、下单或付款。

完整采集随后在后续阶段返回 PDD_DATA_PRICE_MISSING:当前面板 selected_text 为空,导致颜色采价确认失败。该问题发生在已经进入规格面板之后,不属于 #36 的执行顺序缺陷,将单独讨论/建单,不混入本工单。

诊断证据:client/data/artifacts/READONLY-VERIFY/collect-failed-86bc1957e2e9.xml(本地文件,不上传)。

真机只读验证结果:#36 的目标已通过。设备 192.168.0.173:5555 在线后,正式 PddCollectService 不再在商品详情页为评价连续滑动,立即点击规格入口并成功进入规格面板。当前控件树可解析到规格面板、价格 370 分和 8 个颜色;全程没有点击确认购买、下单或付款。 完整采集随后在后续阶段返回 PDD_DATA_PRICE_MISSING:当前面板 selected_text 为空,导致颜色采价确认失败。该问题发生在已经进入规格面板之后,不属于 #36 的执行顺序缺陷,将单独讨论/建单,不混入本工单。 诊断证据:client/data/artifacts/READONLY-VERIFY/collect-failed-86bc1957e2e9.xml(本地文件,不上传)。
Author
Owner

????,????

?? client/src/demo1/auto_v1.py ???????:????????,????????,??????????????,???????????????????????

????

  • ???????????????
  • ??????????????,????????? PDD_PAGE_SPEC_PANEL_TIMEOUT?
  • ???????????????????,????? XML?
  • ???? XML ????????????????

????

  • Client ????:153 ????
  • ?? 192.168.0.173:5555:?????????,??????????
  • ????????????????
  • ?????????????? PDD_DATA_PRICE_MISSING;???? selected_text ??,????????,??? #36?

??

  • ??:e65cc2a fix: ?????????????? (#36)
  • ??:e08fd89 docs: ???? #36

??:?????,???????

## ????,???? ?? `client/src/demo1/auto_v1.py` ???????:????????,????????,??????????????,??????????????????????? ### ???? - ??????????????? - ??????????????,????????? `PDD_PAGE_SPEC_PANEL_TIMEOUT`? - ???????????????????,????? XML? - ???? XML ???????????????? ### ???? - Client ????:153 ???? - ?? `192.168.0.173:5555`:?????????,?????????? - ???????????????? - ?????????????? `PDD_DATA_PRICE_MISSING`;???? `selected_text` ??,????????,??? #36? ### ?? - ??:`e65cc2a fix: ?????????????? (#36)` - ??:`e08fd89 docs: ???? #36` ??:?????,???????
Author
Owner

???????????????? #:????????????????,????????????;?????? color,???????#36 ????,??????????????????

???????????????? #:????????????????,????????????;?????? color,???????#36 ????,??????????????????
Author
Owner

更正上一条缺少编号的评论:关联工单已成功创建为 #37。规格面板将按动态行蛇形逐色点击采价,颜色完成后只收集尺码文字;价格粒度保持 color,不按尺码采价。#36 保持开启,等待端到端复验。

更正上一条缺少编号的评论:关联工单已成功创建为 #37。规格面板将按动态行蛇形逐色点击采价,颜色完成后只收集尺码文字;价格粒度保持 color,不按尺码采价。#36 保持开启,等待端到端复验。
Author
Owner

关联工单 #37 已完成代码和自动测试:蛇形逐色采价、同价颜色、空 selected_text 降级、尺码只读及 SQLite/Outbox 顺序均已覆盖,156 项测试通过。实现 9562da9,归档 6c12e05。真机复验被三星支付安全提示阻塞,未绕过安全提示;#36 和 #37 都保持开启等待人工处理提示后验收。

关联工单 #37 已完成代码和自动测试:蛇形逐色采价、同价颜色、空 selected_text 降级、尺码只读及 SQLite/Outbox 顺序均已覆盖,156 项测试通过。实现 9562da9,归档 6c12e05。真机复验被三星支付安全提示阻塞,未绕过安全提示;#36 和 #37 都保持开启等待人工处理提示后验收。
Author
Owner

用户已于 2026-08-11 明确验收通过。

  • 本地归档状态已更新为“已完成,用户验收通过”
  • 验收记录提交:eca9289
  • 本工单按项目流程关闭
用户已于 2026-08-11 明确验收通过。 - 本地归档状态已更新为“已完成,用户验收通过” - 验收记录提交:`eca9289` - 本工单按项目流程关闭
ila closed this issue 2026-08-11 10:58:03 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#36