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))