Rescrie complet fluxul de descarcare tranzactii pentru noul UI BT George
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>
This commit is contained in:
120
README.md
120
README.md
@@ -325,12 +325,8 @@ deployment\windows\scripts\menu.ps1
|
||||
- Mărește timeout: `TIMEOUT_2FA_SECONDS=180` în `.env`
|
||||
- Verifică notificări activate pe telefon
|
||||
|
||||
### Selectors nu funcționează
|
||||
Site-ul s-a schimbat. Re-generează selectors:
|
||||
```bash
|
||||
.venv\Scripts\activate
|
||||
playwright codegen https://btgo.ro --target python
|
||||
```
|
||||
### Selectors nu functioneaza
|
||||
Site-ul s-a schimbat. Urmeaza pasii din sectiunea **Inregistrare Manuala cu Playwright** de mai jos.
|
||||
|
||||
### Notificări Email nu funcționează
|
||||
- Pentru Gmail: folosește App Password, nu parola normală
|
||||
@@ -343,12 +339,116 @@ playwright codegen https://btgo.ro --target python
|
||||
- Chat ID pentru grupuri trebuie să fie **negativ** (ex: `-1001234567890`)
|
||||
- Asigură-te că botul este în grup
|
||||
|
||||
## Inregistrare Manuala cu Playwright (Codegen)
|
||||
|
||||
Cand site-ul BT George isi schimba interfata, trebuie sa reinregistrezi fluxul manual.
|
||||
|
||||
### 1. Porneste Playwright Codegen
|
||||
|
||||
```powershell
|
||||
# Activeaza venv-ul
|
||||
.venv\Scripts\Activate.ps1
|
||||
|
||||
# Porneste codegen
|
||||
playwright codegen https://go.bancatransilvania.ro --target python
|
||||
```
|
||||
|
||||
Se deschid 2 ferestre:
|
||||
- **Browser** - aici faci actiunile manual
|
||||
- **Playwright Inspector** - aici vezi codul Python generat
|
||||
|
||||
### 2. Inregistreaza Fluxul
|
||||
|
||||
1. Accept cookies ("Accept toate")
|
||||
2. Click pe "Login" - se deschide popup
|
||||
3. Completeaza username si parola
|
||||
4. Click "Autentifica-te"
|
||||
5. Asteapta 2FA pe telefon
|
||||
6. Dupa login, click pe "Conturi"
|
||||
7. **Pentru primul cont:**
|
||||
- Expand card (click pe sageata)
|
||||
- Click pe butonul "Tranzactii" (iconita cu grafic)
|
||||
- Click pe "CSV" pentru format
|
||||
- Click pe "Genereaza"
|
||||
- Click pe documentul generat pentru download
|
||||
8. **Pentru conturile urmatoare:**
|
||||
- Click pe `#selectAccountBtn` (dropdown conturi)
|
||||
- Selecteaza contul din lista
|
||||
- Click pe "Genereaza"
|
||||
- Download fisierul
|
||||
|
||||
### 3. Salveaza si Analizeaza Scriptul
|
||||
|
||||
- In Inspector: **Copy** sau **File > Save**
|
||||
- Compara cu `btgo_scraper.py` si actualizeaza selectorii modificati
|
||||
- Selectori cheie de verificat:
|
||||
- Cookie consent: `get_by_role("button", name="...")`
|
||||
- Username field: `get_by_placeholder("...")`
|
||||
- Submit button: `get_by_role("button", name="...")`
|
||||
- Account selector: `#selectAccountBtn`
|
||||
- Download item: `fba-document-item`
|
||||
|
||||
## Testare Manuala a Scraperului
|
||||
|
||||
### Testare Pas cu Pas
|
||||
|
||||
```powershell
|
||||
# 1. Activeaza venv
|
||||
.venv\Scripts\Activate.ps1
|
||||
|
||||
# 2. Ruleaza scraper-ul
|
||||
python btgo_scraper.py
|
||||
```
|
||||
|
||||
### Verificare Output
|
||||
|
||||
Dupa rulare, verifica:
|
||||
|
||||
```powershell
|
||||
# Fisiere generate
|
||||
dir data\
|
||||
|
||||
# Trebuie sa vezi:
|
||||
# - solduri_*.csv (solduri toate conturile)
|
||||
# - solduri_*.json (metadata + solduri)
|
||||
# - tranzactii_*.csv (cate un fisier per cont)
|
||||
# - dashboard_*.png (screenshot final)
|
||||
|
||||
# Verifica log-ul pentru erori
|
||||
type logs\scraper_*.log | Select-String -Pattern "EROARE|ERROR|Exception"
|
||||
```
|
||||
|
||||
### Testare Doar Solduri (fara download tranzactii)
|
||||
|
||||
```powershell
|
||||
# Seteaza variabila temporar
|
||||
$env:BALANCES_ONLY = "true"
|
||||
python btgo_scraper.py
|
||||
```
|
||||
|
||||
### Debug - Screenshot-uri
|
||||
|
||||
Daca ceva nu merge, verifica screenshot-urile din `data/`:
|
||||
- `debug_login_popup_*.png` - starea paginii de login
|
||||
- `debug_dropdown_*.png` - dropdown-ul de selectare conturi (daca esueaza)
|
||||
- `error_*.png` - screenshot la eroare
|
||||
|
||||
### Testare Notificari (fara scraping)
|
||||
|
||||
```powershell
|
||||
# Test Telegram
|
||||
python test_telegram.py
|
||||
|
||||
# Trimite ultimele fisiere manual
|
||||
python send_notifications.py
|
||||
```
|
||||
|
||||
## Securitate
|
||||
|
||||
**⚠️ IMPORTANT:**
|
||||
- NU comite `.env` în git (deja în `.gitignore`)
|
||||
- NU partaja screenshots/logs - conțin date sensibile
|
||||
- Șterge fișierele vechi periodic:
|
||||
**IMPORTANT:**
|
||||
- NU comite `.env` in git (deja in `.gitignore`)
|
||||
- NU partaja screenshots/logs - contin date sensibile
|
||||
- Sterge fisierele vechi periodic:
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
|
||||
Reference in New Issue
Block a user