sig / _playwright /wuaipojie.py
Evilmass
add gotify img
6ed2c3e
# coding:utf-8
import sys
import asyncio
from os.path import abspath, dirname, join
from playwright.async_api import async_playwright
sys.path.append(join(dirname(abspath(__file__)), "../"))
from utils import push_msg
from __init__ import (
browser_headless,
browser_proxy,
wuaipojie_url,
wuaipojie_sign_url,
wuaipojie_cookie_file,
wuaipojie_title,
wuaipojie_logger,
wuaipojie_img,
)
async def sign(page):
await page.goto(wuaipojie_url)
# 判断登录状态
if await page.get_by_text("提醒").is_enabled():
wuaipojie_logger.info("登录成功")
else:
msg = "Cookie 过期"
wuaipojie_logger.error(msg)
return
# 签到
if await page.get_by_text("请下期再来").is_enabled():
msg = "今天已签到"
wuaipojie_logger.info(msg)
else:
await page.goto(wuaipojie_sign_url)
msg = "签到成功"
wuaipojie_logger.info(msg)
return msg
async def wuaipojie_sign():
async with async_playwright() as playwright:
browser = await playwright.chromium.launch(headless=browser_headless)
context = await browser.new_context(storage_state=wuaipojie_cookie_file)
sign_page = await context.new_page()
sign_task = asyncio.create_task(sign(sign_page))
await asyncio.gather(sign_task)
await sign_page.close()
# 退出
await browser.close()
# 推送
sign_result = sign_task.result()
push_msg(wuaipojie_title, "\n".join([sign_result]), wuaipojie_img)
if __name__ == "__main__":
asyncio.run(wuaipojie_sign())