From 5ded27ebbd0955f2c2f46022034c76319145c07a Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Tue, 5 May 2026 11:08:03 +0300 Subject: [PATCH] fix(login): seteaza viewport pe context pentru a propaga la popup login 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 --- btgo_scraper.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/btgo_scraper.py b/btgo_scraper.py index 3034947..9fad776 100644 --- a/btgo_scraper.py +++ b/btgo_scraper.py @@ -391,8 +391,12 @@ class BTGoScraper: slow_mo=100 if not self.config.HEADLESS else 0 # Slow motion pentru debugging ) - # Creaza pagina cu viewport standard - self.page = browser.new_page(viewport={'width': 1920, 'height': 1080}) + # Creaza context cu viewport explicit -> popup-urile (login_page) + # mostenesc acelasi viewport. Necesar pentru ca BT afiseaza un splash + # "redirect to store" sub un breakpoint custom (~1200px) si ascunde + # formul real (#user / #password). + context = browser.new_context(viewport={'width': 1920, 'height': 1080}) + self.page = context.new_page() logging.info(f"Browser lansat (headless={self.config.HEADLESS})") # Flow complet