"""一次性测试脚本：H5 scrollTop=0 截图，用于确认 MCP 截图区域对齐。"""
import asyncio
from pathlib import Path
from playwright.async_api import async_playwright

ROOT = Path(__file__).resolve().parents[2]

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=True, args=["--hide-scrollbars"])
        ctx = await browser.new_context(
            viewport={"width": 430, "height": 752}, device_scale_factor=3
        )
        page = await ctx.new_page()
        await page.goto(
            "http://127.0.0.1:5500/docs/h5_ui/pages/board-finance.html",
            wait_until="load", timeout=15000,
        )
        await page.wait_for_timeout(2500)
        await page.evaluate("""() => {
            document.documentElement.style.overflow = 'auto';
            document.documentElement.style.scrollbarWidth = 'none';
            const s = document.createElement('style');
            s.textContent = '::-webkit-scrollbar { display: none !important; }';
            document.head.appendChild(s);
        }""")
        await page.wait_for_timeout(300)
        await page.evaluate("() => { window.scrollTo({top: 0, behavior: 'instant'}); }")
        await page.wait_for_timeout(500)
        out = ROOT / "docs" / "h5_ui" / "screenshots" / "h5-board-finance--scroll0-test.png"
        await page.screenshot(path=str(out), full_page=False)
        info = await page.evaluate("() => ({ scrollY: window.scrollY, innerH: window.innerHeight })")
        print(f"H5 scrollY={info['scrollY']}, innerHeight={info['innerH']}")
        print(f"截图保存: {out}")
        await browser.close()

asyncio.run(main())
