"""截图所有模式 - 稳定版"""
import asyncio
from playwright.async_api import async_playwright
import os, sys
sys.stdout.reconfigure(encoding='utf-8')
BASE = os.path.dirname(os.path.abspath(__file__))
URL = 'http://localhost:8899/dashboard.html'

async def ss(page, name):
    await page.screenshot(path=os.path.join(BASE, name), full_page=True)
    print(name)

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=True)
        page = await browser.new_page(viewport={'width': 1400, 'height': 950})
        await page.goto(URL, wait_until='networkidle')
        await asyncio.sleep(3)
        await ss(page, 'ss_day.png')
        await page.click('button[data-m="week"]')
        await asyncio.sleep(2)
        await ss(page, 'ss_week.png')
        await page.click('button[data-m="month"]')
        await asyncio.sleep(2)
        await ss(page, 'ss_month.png')
        await page.click('button[data-m="custom"]')
        await asyncio.sleep(1)
        await page.click('text=查看')
        await asyncio.sleep(2)
        await ss(page, 'ss_custom.png')
        await browser.close()

asyncio.run(main())
