# 2925 Webmail correct scraping flow for OpenAI codes (2026-05-11) ## Problem found BOSS manually checked `chickliu2030@2925.com` / `chickliu2031@2925.com` and saw OpenAI verification messages in Inbox, while the automation reported `candidateCount=0` and no current alias mail. Root cause: the previous automation used an unreliable route-based folder switch: ```text https://2925.com/#/mailList?type=收件箱 https://2925.com/#/mailList?type=垃圾箱 ``` On 2925 Webmail this can leave the app in an empty-list state even when Inbox has messages. The correct UI state is reached by clicking the left navigation item `收件箱`; the URL then becomes: ```text https://2925.com/#/mailList ``` ## Correct scraping flow 1. Verify visible account gate: top profile text contains the selected pool account, e.g. `chickliu2031@2925.com`. 2. Click the left nav item whose exact text is `收件箱`. Do not rely on `#/mailList?type=收件箱`. 3. Click the actual toolbar `刷新` button after the list is visible. 4. Read mail rows from: ```js document.querySelectorAll('table.maillist-table tr') ``` Rows can have class `unread-mail`. 5. Match OpenAI/ChatGPT rows by visible row text: ```text OpenAI / ChatGPT / 你的 ChatGPT 临时验证码 / verification / code ``` 6. The generated alias/local-part may not be visible in row text. For 2925 OpenAI mail it was found in hidden tooltip/sender DOM, for example: ```text bounce+...-chickliu2031som6d8=2925.com@tm1.openai.com ``` So row matching must inspect `innerText`, `textContent`, `title`, `aria-label`, and tooltip descendants, not only visible row text. 7. Click the newest row whose hidden row text contains the current alias local-part. Then extract the strict 6-digit code from the opened mail body near: ```text 输入此临时验证码以继续: [6-digit-code] ``` 8. If OpenAI returns `代码不正确`, click OpenAI resend once, wait briefly, click 2925 left `收件箱` again, refresh, then select the newest row. Old rows remain visible and can produce stale codes. ## Verified result For: ```text 2925 account: chickliu2031@2925.com OpenAI alias: chickliu2031som6d8@2925.com ``` The corrected scraper found rows in Inbox and extracted a new verification code from the latest message at `2026-5-11 21:16:37`. Submitting that new code succeeded and OpenAI advanced to: ```text https://auth.openai.com/add-phone ``` ## Do not repeat Do not conclude “no mail delivered” from `candidateCount=0` if the script only used URL route parameters or did not inspect `table.maillist-table tr`. Confirm by clicking the left Inbox item and checking the table rows.