# 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())