Showing
1 changed file
with
13 additions
and
1 deletions
| @@ -214,9 +214,21 @@ def submit_phone_code(page: Page, code: str) -> bool: | @@ -214,9 +214,21 @@ def submit_phone_code(page: Page, code: str) -> bool: | ||
| 214 | Returns: | 214 | Returns: |
| 215 | True 登录成功,False 失败(超时或验证码错误)。 | 215 | True 登录成功,False 失败(超时或验证码错误)。 |
| 216 | """ | 216 | """ |
| 217 | - # 点击验证码输入框并逐字输入 | 217 | + # 点击验证码输入框,先清空已有内容(防止重试时追加导致验证码错误),再逐字输入 |
| 218 | page.click_element(CODE_INPUT) | 218 | page.click_element(CODE_INPUT) |
| 219 | sleep_random(300, 500) | 219 | sleep_random(300, 500) |
| 220 | + page.evaluate( | ||
| 221 | + f"""(() => {{ | ||
| 222 | + const el = document.querySelector({json.dumps(CODE_INPUT)}); | ||
| 223 | + if (el && el.value) {{ | ||
| 224 | + const setter = Object.getOwnPropertyDescriptor( | ||
| 225 | + window.HTMLInputElement.prototype, 'value' | ||
| 226 | + ).set; | ||
| 227 | + setter.call(el, ''); | ||
| 228 | + el.dispatchEvent(new Event('input', {{ bubbles: true }})); | ||
| 229 | + }} | ||
| 230 | + }})()""" | ||
| 231 | + ) | ||
| 220 | page.type_text(code, delay_ms=100) | 232 | page.type_text(code, delay_ms=100) |
| 221 | sleep_random(500, 800) | 233 | sleep_random(500, 800) |
| 222 | 234 |
-
Please register or login to post a comment