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) <noreply@anthropic.com>
This commit is contained in:
2026-05-15 12:47:21 +03:00
parent 5ded27ebbd
commit 2330b35ad7
2 changed files with 11 additions and 6 deletions

4
.gitignore vendored
View File

@@ -23,3 +23,7 @@ logs/*.log
# OS # OS
.DS_Store .DS_Store
Thumbs.db Thumbs.db
# Tooling
.claude/
.playwright-mcp/

View File

@@ -385,16 +385,17 @@ class BTGoScraper:
logging.info("=" * 60) logging.info("=" * 60)
with sync_playwright() as p: 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( browser = p.chromium.launch(
headless=self.config.HEADLESS, 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}) context = browser.new_context(viewport={'width': 1920, 'height': 1080})
self.page = context.new_page() self.page = context.new_page()
logging.info(f"Browser lansat (headless={self.config.HEADLESS})") logging.info(f"Browser lansat (headless={self.config.HEADLESS})")