diff --git a/.gitignore b/.gitignore index 054edec..d43a580 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,7 @@ logs/*.log # OS .DS_Store Thumbs.db + +# Tooling +.claude/ +.playwright-mcp/ diff --git a/btgo_scraper.py b/btgo_scraper.py index 9fad776..618f0d2 100644 --- a/btgo_scraper.py +++ b/btgo_scraper.py @@ -385,16 +385,17 @@ class BTGoScraper: logging.info("=" * 60) with sync_playwright() as p: - # Lansare browser + # Forteaza dimensiunea ferestrei la nivel de SO. Necesar cand + # scraper-ul ruleaza dintr-un Windows Service in session 0 (fara + # display): viewport-ul setat pe context (CSS) nu se propaga la + # fereastra fizica, iar BT afiseaza un splash "redirect to store" + # sub ~1100px care ascunde input#user. browser = p.chromium.launch( headless=self.config.HEADLESS, - slow_mo=100 if not self.config.HEADLESS else 0 # Slow motion pentru debugging + slow_mo=100 if not self.config.HEADLESS else 0, + args=['--window-size=1920,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})")