fix: reCAPTCHA — окно с картинками определяется по положению (#10)

- Маркер интерактивного челленджа: iframe bframe, контейнер которого не стоит
  за экраном (top: -10000px); click_and_race ждёт видимости, а не появления в DOM.
- Маркер наличия капчи берётся из исходного HTML (api.js / enterprise.js,
  .g-recaptcha, iframe чекбокса), проверка мгновенная, без ожидания iframe.
- SolverReCaptcha ждёт detect_locator в DOM, а не видимости (script невидим).
- test_main.http: секреты вынесены в http-client.private.env.json, запрос
  на стенд zennolab, исправлены XPath с @class.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
protokeyandClaude Opus 5.5 committed 2026-10-14 00:30:29 +04:00
1 parent fdee12e2d8
commit 4d90dc4a21
7 files changed
+67 -19

No files matched your search

+2 -2
View File
@@ -25,8 +25,8 @@ class SolverReCaptcha(Captcha):
:param page:
:return:
"""
div_container = page.locator(selector)
await div_container.wait_for()
# selector может указывать на невидимый элемент (script) и совпадать с несколькими
await page.locator(selector).first.wait_for(state="attached")
site_key_input_element = page.locator("iframe[title='reCAPTCHA']")
src_value = await site_key_input_element.get_attribute("src")