From 2e8e5832e041936e512dad26edb18cacf7b1d522 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Mon, 16 Mar 2026 16:02:43 +0200 Subject: [PATCH] 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 --- btgo_scraper.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/btgo_scraper.py b/btgo_scraper.py index 1f51eb9..3034947 100644 --- a/btgo_scraper.py +++ b/btgo_scraper.py @@ -465,22 +465,29 @@ class BTGoScraper: except: pass - # Click pe butonul LOGIN - deschide popup + # Click pe butonul LOGIN - deschide tab nou logging.info("Click pe butonul LOGIN...") 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() - # Preia referinta la popup-ul de login + # Preia referinta la tab-ul de login 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 self._dismiss_gdpr_cookies(self.login_page) - # Asteapta sa se incarce pagina de login - time.sleep(2) - # 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" self.login_page.screenshot(path=str(debug_path))