 q792602257andClaude Sonnet 5
|
5f7921b788
|
结算流程用真实下单证据修正:新卡代填 iframe vault、订单号正则、登录态判据
- 新卡代填改用真实 DOM 结构:卡号/有效期分别托管在 Rakuten PCI 代付 vault 的
跨域 iframe 里,此前按 autocomplete/name 猜的 selector 在主文档里根本找不到
元素;持卡人姓名字段改用「名義人」标签相对定位,不用 placeholder 示例文案
(TARO RAKUTEN 只是示例用户名,不是稳定标识)
- 订单号正则修正 实体导致的分隔符匹配失败(2026-08-13 真实下单验证)
- login_runner._is_logged_in 改用与 AuthSession 一致的 __INITIAL_STATE__ 判据,
修掉此前误判「已登录」导致保存无效 storage_state 的问题
- 新增 CheckoutBlockedError:站点风控拦截(session upgrade/3DS)转 needs_human,
不当普通失败重试
- account.yaml 支持 phone / payment.credit-card 字段
- data/evidence/(真实 PII)加入 .gitignore
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
2026-08-13 22:36:49 +08:00 |
|
 q792602257andClaude Opus 4.6
|
18cf7ae079
|
实现 site_interact 加购与购物车校验(Playwright 通道)
探针实测发现 httpx 因 TLS/HTTP2 指纹被 Rakuten 拒认(cookie 有效但
站点不识别 session),site_interact 改为全程 Playwright + storage_state。
add_to_cart 与 verify_cart 已实测可用:从商品页 __INITIAL_STATE__ 抽
purchase 块、调用方补 variant_id 与 choice、POST basketDomain、用 cart
count JSONP API 与 SPA 渲染后的 cart 页校验。enter_checkout 及之后仍
NotImplementedError:Rakuten 对 checkout 要求 session upgrade(重输密码),
是自动 checkout 的硬墙,未实测过墙方案前留接口缝。
SiteInteractor 类持有 Playwright BrowserContext,由 WorkerRunner 实例
持有、container/main 接线、lifespan 管理生命周期。测试侧 23 个用例,
全套件 333 passed,架构边界守住。
附 5 个探针脚本(scripts/probe_*.py),记录实测路径与响应结构。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-07-27 17:59:30 +08:00 |
|