context.route activeaza interceptarea cererilor: fiecare request al paginii
era pus pe pauza pentru un round-trip catre script. Pe masina prod (sync API,
Session 0) asta adauga latenta la fiecare request si incetinea vizibil
incarcarea dashboard-ului post-2FA. Blocarea nici nu rezolva CPU-ul - acela
vine din randarea software in Session 0, nu din trackere. Net: cost fara
beneficiu, deci o eliminam.
read_accounts: time.sleep(3) fix inlocuit cu wait_for_selector pe
fba-account-details-card (45s). Pe masina lenta lista nu apuca sa randeze
in 3s -> gasea 0 conturi. Daca tot 0, capteaza diagnostic (URL, text,
tag-uri fba-*, screenshot).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Cand wait_for_selector('input#user') da timeout, logam URL, titlu, text
vizibil, lista de input-uri si salvam screenshot full_page - cat browser-ul
e inca viu. Necesar ca sa distingem intre WAF block, randare lenta si
selector schimbat, fara sa mai ghicim.
Handler-ul de blocare trackere inghite acum TargetClosedError la shutdown,
ca sa nu mai spameze log-ul cu "Future exception was never retrieved" si
sa ascunda eroarea reala.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Pagina go.bancatransilvania.ro are tracking activ (Google Analytics,
LinkedIn, Facebook, omniconvert) care face request-uri continue 30+ sec
dupa load. wait_until='networkidle' nu se atinge niciodata si page.goto
face timeout dupa 30s.
Foloseste 'domcontentloaded' si asteapta explicit link-ul Login. Elimin
si fallback-ul mort cu networkidle din login() popup (15s wait inutil
dupa input#user — daca selectorul lipseste, networkidle nici el nu vine).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
In Windows Service (session 0, fara display) viewport-ul setat pe context
Playwright nu se propaga la fereastra fizica. BT afiseaza splash de redirect
sub ~1100px, ascunzand input#user si provocand timeout la wait_for_selector.
Adauga --window-size in args ca sa forteze dimensiunea la nivel de SO.
Ignora si .claude/ si .playwright-mcp/ (artefacte tooling local).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
BT a adaugat un guard de viewport: sub ~1200px, pagina de login afiseaza
un splash 'redirect to store' si ascunde formul real (#user / #password)
intr-un container .d-none.d-md-flex cu display:none.
Inainte, viewport-ul era setat doar pe pagina parinte; popup-ul deschis
prin expect_popup() folosea viewport-ul default (~1280x720) si declansa
splash-ul, ceea ce ducea la timeout pe wait_for_selector('input#user').
Fix: cream un context cu viewport 1920x1080, iar popup-urile mostenesc
automat viewport-ul context-ului.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Pagina de login s-a mutat la goapp.bancatransilvania.ro (Angular SPA)
care face un API call inainte sa randeze formularul. Inlocuieste
time.sleep(2) cu wait_for_selector('input#user', timeout=15000).
Actualizeaza si numele link-ului din LOGIN in Login.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Banner-ul GDPR aparea cu intarziere dupa page load si bloca click-ul.
Adaugat wait explicit, mai multe strategii de text, force click si
fallback JavaScript pentru eliminarea banner-ului din DOM.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Modificari principale:
- Noul flux download: expand -> tranzactii -> CSV -> Genereaza -> download
- Detectie inteligenta buton Tranzactii (evita butonul Delete)
- Verificare daca primul cont e deja expandat inainte de click
- Selectie conturi cu 6 strategii fallback + debug logging
- Handler pentru cookie consent "Accept toate" si "Am inteles"
- Screenshot automat la erori de selectie cont
Documentatie:
- README: sectiuni noi pentru inregistrare Playwright si testare manuala
- CLAUDE.md: selectori actualizati pentru noul UI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Rezolva problema cand selectoarele BT se schimba - acum incearca
multiple strategii pentru a gasi username, password si submit button.
Imbunatateste si gestionarea GDPR cookie banner.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>