File size: 1,627 Bytes
65d3d39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6ed2c3e
65d3d39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6ed2c3e
65d3d39
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 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())