From 2330b35ad7bff6862dced2ba5f82847fb826a840 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Fri, 15 May 2026 12:47:21 +0300 Subject: [PATCH] fix(login): forteaza --window-size=1920,1080 la lansarea Chromium In Windows Service (session 0, fara display) viewport-ul setat pe context Playwright nu se propaga la fereastra fizica. BT afiseaza splash de redirect sub ~1100px, ascunzand input#user si provocand timeout la wait_for_selector. Adauga --window-size in args ca sa forteze dimensiunea la nivel de SO. Ignora si .claude/ si .playwright-mcp/ (artefacte tooling local). Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 4 ++++ btgo_scraper.py | 13 +++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) 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})")