fix(login,download): login direct pe goapp, descarcare doar a documentului nou

- BT a mutat login-ul (09.2026): go.bancatransilvania.ro face 302 spre
  marketing; formularul e pe goapp.bancatransilvania.ro, acelasi tab, fara popup.
- Daca formularul nu apare: eroare explicita cu URL/titlu + screenshot/HTML.
- scripts/check_login_page.py: verifica pagina de login fara credentiale.
- Download: asteapta documentul nou din "Recente"; export gol -> [SKIP], nu timeout.
- Screenshot la eroare facut inainte de oprirea Playwright.
- opencode.json: agentii opencode nu pot citi .env.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DxPhZABSUf1RJXRWtwecqC
This commit is contained in:
2026-09-24 10:33:16 +03:00
parent ed9d3fc6d4
commit 3ac8ba68de
5 changed files with 396 additions and 27 deletions

View File

@@ -36,6 +36,16 @@ BTGO Scraper - Playwright automation for extracting account balances and transac
`TIMEOUT_2FA_SECONDS` and reports the wrong cause.
- **`networkidle` never fires**: BT pages poll trackers continuously. Use
`domcontentloaded` + explicit selector waits.
- **BT moved the login page (09.2026)**: `go.bancatransilvania.ro` now 302s to the
marketing site (no Login link); the form is served directly by
`goapp.bancatransilvania.ro/` (`-> /app/auth/login`), same tab, no popup. The
scraper sat broken with no clue: the only symptom was a bare `Timeout 15000ms`
from the old `a:has-text('Login')` wait. Now, when `input#user` does not show up
even after the reload retry, `login()` saves a screenshot + the page HTML in
`data/` and raises `Pagina de login BT s-a schimbat: URL final <url>, titlu
<titlu>`, so the real cause reaches the Telegram error message instead of dying
silently. When the bank moves the login again, run `scripts/check_login_page.py`
first (exit 0 = form intact, exit 1 = reason + evidence in `data/`).
## Coding Guidelines