Files

23 lines
1.4 KiB
Python

from playwright.sync_api import sync_playwright
import os
OUT = os.path.abspath("shots"); os.makedirs(OUT, exist_ok=True)
with sync_playwright() as p:
b = p.chromium.launch(headless=True)
pg = b.new_context(viewport={"width":1440,"height":1000}).new_page()
pg.goto("http://localhost:4321/", wait_until="networkidle", timeout=60000)
for y in range(0, pg.evaluate("document.body.scrollHeight"), 400):
pg.evaluate(f"window.scrollTo(0,{y})"); pg.wait_for_timeout(70)
pg.evaluate("window.scrollTo(0,0)"); pg.wait_for_timeout(700)
el = pg.query_selector(".svc"); el.scroll_into_view_if_needed(); pg.wait_for_timeout(500)
el.screenshot(path=os.path.join(OUT,"a-default.png")); print("OK a-default")
panels = pg.query_selector_all(".apanel")
if len(panels)>=3:
panels[2].hover(); pg.wait_for_timeout(900); el.screenshot(path=os.path.join(OUT,"a-open3.png")); print("OK a-open3")
if len(panels)>=5:
panels[4].hover(); pg.wait_for_timeout(900); el.screenshot(path=os.path.join(OUT,"a-open5.png")); print("OK a-open5")
mp = b.new_context(viewport={"width":390,"height":844}, device_scale_factor=2).new_page()
mp.goto("http://localhost:4321/", wait_until="networkidle", timeout=60000); mp.wait_for_timeout(1500)
ms = mp.query_selector(".svc"); ms.scroll_into_view_if_needed(); mp.wait_for_timeout(400)
ms.screenshot(path=os.path.join(OUT,"a-mobile.png")); print("OK a-mobile")
b.close()