Files
nonebot-plugin-tetris-stats/nonebot_plugin_tetris_stats/utils/screenshot.py
2024-06-08 11:57:21 +08:00

16 lines
557 B
Python

from playwright.async_api import TimeoutError
from .browser import BrowserManager
from .retry import retry
@retry(exception_type=TimeoutError, reply='截图失败, 重试中')
async def screenshot(url: str) -> bytes:
browser = await BrowserManager.get_browser()
async with (
await browser.new_page(viewport={'width': 3000, 'height': 3000}) as page,
):
await page.goto(url)
await page.wait_for_load_state('networkidle', timeout=5000)
return await page.locator('id=content').screenshot(timeout=5000, type='png')