fix(login): asteapta randarea Angular SPA inainte de detectia campurilor

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>
This commit is contained in:
2026-03-16 16:02:43 +02:00
parent 306aa55907
commit 2e8e5832e0

View File

@@ -465,22 +465,29 @@ class BTGoScraper:
except: except:
pass pass
# Click pe butonul LOGIN - deschide popup # Click pe butonul LOGIN - deschide tab nou
logging.info("Click pe butonul LOGIN...") logging.info("Click pe butonul LOGIN...")
with self.page.expect_popup() as popup_info: with self.page.expect_popup() as popup_info:
login_link = self.page.get_by_role("link", name="LOGIN") login_link = self.page.get_by_role("link", name="Login")
login_link.click() login_link.click()
# Preia referinta la popup-ul de login # Preia referinta la tab-ul de login
self.login_page = popup_info.value self.login_page = popup_info.value
logging.info("Popup login deschis") logging.info("Popup/tab login deschis")
# Asteapta ca Angular SPA sa randeze formularul de login
# (goapp.bancatransilvania.ro face un API call inainte de render)
logging.info("Astept incarcarea formularului de login...")
try:
self.login_page.wait_for_selector("input#user", timeout=15000)
logging.info("[OK] Formular login incarcat")
except Exception:
logging.warning(" [WARN] Timeout pe input#user, incerc wait_for_load_state...")
self.login_page.wait_for_load_state("networkidle", timeout=15000)
# Verifica GDPR cookies si pe popup # Verifica GDPR cookies si pe popup
self._dismiss_gdpr_cookies(self.login_page) self._dismiss_gdpr_cookies(self.login_page)
# Asteapta sa se incarce pagina de login
time.sleep(2)
# Screenshot debug pentru a vedea starea paginii # Screenshot debug pentru a vedea starea paginii
debug_path = Path(self.config.OUTPUT_DIR) / f"debug_login_popup_{datetime.now().strftime('%Y%m%d_%H%M%S')}.png" debug_path = Path(self.config.OUTPUT_DIR) / f"debug_login_popup_{datetime.now().strftime('%Y%m%d_%H%M%S')}.png"
self.login_page.screenshot(path=str(debug_path)) self.login_page.screenshot(path=str(debug_path))