适用于 Graia 的 Playwright 管理器
Project description
Graiax Playwright 使用 launart 作为启动管理器, 适用于 Ariadne 及 Avilla。
以 Ariadne 为例,通过 GraiaX Playwright 你可以轻松地在 Ariadne 启动的时候同时启动一个 Playwright,并在其退出的时候自动关闭 Playwright。
需要注意的是,Playwright 将会在运行期间保持后台常驻,
但由于并未开启任何页面,其内存占用量不是非常大(但也是可观的)。
安装
pdm add graiax-playwright
或 poetry add graiax-playwright
。
我们强烈建议使用包管理器或虚拟环境
开始使用
以下示例以 Ariadne 为例。
机器人入口文件
from graia.ariadne.app import Ariadne
from graiax.playwright import PlaywrightService
app = Ariadne(...)
app.launch_manager.add_service(PlaywrightService("chromium")) # 默认值为 chromium
...
Ariadne.launch_blocking()
配合 Graia Saya 使用
from graia.ariadne.app import Ariadne
from graia.ariadne.util.saya import listen
from graiax.playwright import PlaywrightBrowser
@listen(...)
async def function(app: Ariadne):
browser = app.launch_manager.get_interface(PlaywrightBrowser)
# 此处的 Browser 之用法与 playwright.async_api.Browser 无异,但要注意的是下方代码的返回值为 False。
# `isinstance(browser, playwright.async_api.Browser)`
async with browser.page( # 此为启用了自动上下文管理的 API.
context=True, # 新建 Browser Context, 默认为 False.
viewport={"width": 800, "height": 10},
device_scale_factor=1.5,
) as page:
await page.set_content("Hello World!")
img = await page.screenshot(type="jpeg", quality=80, full_page=True, scale="device")
...
许可证
本项目使用 MIT
许可证进行许可。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for graiax_playwright-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dff568c81418037f869d3dabd29ae965c00e5f347cae5186370acdd10d385d81 |
|
MD5 | 22fe1b4b662a0a30d6eb0c5a79d308bb |
|
BLAKE2b-256 | 755c6df297474d85516acf37e374091431baae62af2bdb23de77ad74ac6b946c |