From 8b2fd74336d5f162b47d77a2d6f6a4b17db74abb Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 14 Aug 2026 01:11:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E7=9C=9F=E5=AE=9E=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E4=B8=89=E5=A4=84=E7=A1=AC=E4=BC=A4=EF=BC=9A?= =?UTF-8?q?headless=20SPA=20=E5=BC=82=E5=B8=B8=E3=80=81=E6=AC=A1=E3=81=B8?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E9=80=89=E6=8B=A9=E5=99=A8=E7=8C=9C=E9=94=99?= =?UTF-8?q?=E3=80=81=E7=A1=AE=E8=AE=A4=E9=A1=B5=E8=AF=AF=E5=88=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实测发现 headless=True 会让购物车/结算 SPA 表现异常(购入手続き点了不跳转), 所有会改站点状态的操作改用非无头浏览器;session upgrade/电话补录页的「次へ」 提交按钮选择器一直是猜的 button:has-text,真实控件是 div[role=button] 的 e2e 测试钩子类,从未真正匹配过;enter_checkout 的中间步骤跳转循环没有确认 是否真的离开了购物车页就会把卡住的购物车页当成确认页返回,现在会显式报错。 用真实账号非无头浏览器验证过整条链路能落地到真实 order-confirmation 页(未 触发实际付款)。同时按之前的决定放开新卡表单自动提交,新增地址确认页探针 脚本备用。 Co-Authored-By: Claude Sonnet 5 --- app/trading/worker/site_interact.py | 87 +++++++++++++--- scripts/probe_address_confirm.py | 156 ++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+), 15 deletions(-) create mode 100644 scripts/probe_address_confirm.py diff --git a/app/trading/worker/site_interact.py b/app/trading/worker/site_interact.py index dccc3b3..4f2b752 100644 --- a/app/trading/worker/site_interact.py +++ b/app/trading/worker/site_interact.py @@ -141,8 +141,13 @@ _CHECKOUT_BUTTON_SELECTOR = 'button[aria-label="購入手続き"]' # 点击结算按钮后落到 session upgrade 密码页的判据:URL 里出现这些片段之一 _SESSION_UPGRADE_URL_MARKERS = ("session/upgrade", "sign_in/password") -# session upgrade 密码页的「次へ」提交按钮没有 type=submit,只能按文案匹配 -_SESSION_UPGRADE_SUBMIT_SELECTOR = 'button:has-text("次へ")' +# session upgrade 密码页/电话补录页的「次へ」提交按钮:2026-08-14 非无头浏览器 +# 实测抓到真实 HTML 才发现,此前的 button:has-text("次へ") 是猜的、根本不存在 +# 匹配的