zhenxun_bot/utils/browser.py
2022-05-21 13:15:53 +08:00

47 lines
1.2 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import Optional
from nonebot.log import logger
from playwright.async_api import Browser, async_playwright
import nonebot
from nonebot import Driver
from services.log import logger
import platform
driver: Driver = nonebot.get_driver()
_browser: Optional[Browser] = None
async def init(**kwargs) -> Optional[Browser]:
global _browser
try:
browser = await async_playwright().start()
_browser = await browser.chromium.launch(**kwargs)
return _browser
except NotImplementedError:
logger.warning("win环境下 初始化playwright失败相关功能将被限制....")
except Exception as e:
logger.warning(f"启动chromium发生错误 {type(e)}{e}")
if _browser:
await _browser.close()
return None
async def get_browser(**kwargs) -> Browser:
return _browser or await init(**kwargs)
# @driver.on_startup
def install():
"""自动安装、更新 Chromium"""
logger.info("正在检查 Chromium 更新")
import sys
from playwright.__main__ import main
sys.argv = ["", "install", "chromium"]
try:
main()
except SystemExit:
pass