添加截图质量配置项

This commit is contained in:
2024-06-27 13:52:15 +08:00
parent 1438ad5efb
commit 84b74278a6
2 changed files with 8 additions and 1 deletions

View File

@@ -10,3 +10,4 @@ class Config(BaseModel):
"""配置类""" """配置类"""
tetris_req_timeout: float = 30.0 tetris_req_timeout: float = 30.0
tetris_screenshot_quality: float = 2

View File

@@ -1,14 +1,20 @@
from nonebot import get_plugin_config
from playwright.async_api import TimeoutError from playwright.async_api import TimeoutError
from ..config.config import Config
from .browser import BrowserManager from .browser import BrowserManager
from .retry import retry from .retry import retry
config = get_plugin_config(Config)
@retry(exception_type=TimeoutError, reply='截图失败, 重试中') @retry(exception_type=TimeoutError, reply='截图失败, 重试中')
async def screenshot(url: str) -> bytes: async def screenshot(url: str) -> bytes:
browser = await BrowserManager.get_browser() browser = await BrowserManager.get_browser()
async with ( async with (
await browser.new_page(viewport={'width': 3000, 'height': 3000}) as page, await browser.new_page(
viewport={'width': 3000, 'height': 3000}, device_scale_factor=config.tetris_screenshot_quality
) as page,
): ):
await page.goto(url) await page.goto(url)
await page.wait_for_load_state('networkidle') await page.wait_for_load_state('networkidle')