From 84b74278a64f016fe3949350a80b6b9f1b09b7a0 Mon Sep 17 00:00:00 2001 From: shoucandanghehe Date: Thu, 27 Jun 2024 13:52:15 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E6=B7=BB=E5=8A=A0=E6=88=AA?= =?UTF-8?q?=E5=9B=BE=E8=B4=A8=E9=87=8F=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nonebot_plugin_tetris_stats/config/config.py | 1 + nonebot_plugin_tetris_stats/utils/screenshot.py | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/nonebot_plugin_tetris_stats/config/config.py b/nonebot_plugin_tetris_stats/config/config.py index fa49f12..34134eb 100644 --- a/nonebot_plugin_tetris_stats/config/config.py +++ b/nonebot_plugin_tetris_stats/config/config.py @@ -10,3 +10,4 @@ class Config(BaseModel): """配置类""" tetris_req_timeout: float = 30.0 + tetris_screenshot_quality: float = 2 diff --git a/nonebot_plugin_tetris_stats/utils/screenshot.py b/nonebot_plugin_tetris_stats/utils/screenshot.py index 77061e7..bad942a 100644 --- a/nonebot_plugin_tetris_stats/utils/screenshot.py +++ b/nonebot_plugin_tetris_stats/utils/screenshot.py @@ -1,14 +1,20 @@ +from nonebot import get_plugin_config from playwright.async_api import TimeoutError +from ..config.config import Config from .browser import BrowserManager from .retry import retry +config = get_plugin_config(Config) + @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 browser.new_page( + viewport={'width': 3000, 'height': 3000}, device_scale_factor=config.tetris_screenshot_quality + ) as page, ): await page.goto(url) await page.wait_for_load_state('networkidle')