Evilmass commited on
Commit ·
e694d87
1
Parent(s): c2012a7
close tsdm popup
Browse files- _playwright/tsdm.py +21 -18
- images/gmail.png +0 -0
- utils.py +3 -1
_playwright/tsdm.py
CHANGED
|
@@ -24,10 +24,18 @@ from __init__ import (
|
|
| 24 |
)
|
| 25 |
|
| 26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
# 判断登录状态
|
| 28 |
async def is_login(page):
|
| 29 |
await page.goto(tsdm_url)
|
| 30 |
-
|
|
|
|
| 31 |
tsdm_logger.info("登录成功")
|
| 32 |
return True
|
| 33 |
else:
|
|
@@ -44,13 +52,9 @@ async def sign(page):
|
|
| 44 |
if not await is_login(page):
|
| 45 |
return "tsdm_not_login"
|
| 46 |
|
| 47 |
-
# 签到
|
| 48 |
await page.goto(tsdm_sign_url)
|
| 49 |
-
|
| 50 |
-
if (
|
| 51 |
-
page.get_by_text("今天已签到")
|
| 52 |
-
or await page.get_by_role("link", name="设置").is_enabled()
|
| 53 |
-
):
|
| 54 |
sign_res = "今天已签到"
|
| 55 |
tsdm_logger.info(sign_res)
|
| 56 |
msg.append(sign_res)
|
|
@@ -69,31 +73,30 @@ async def sign(page):
|
|
| 69 |
return "\n".join(msg)
|
| 70 |
|
| 71 |
|
|
|
|
| 72 |
async def cliwork(page):
|
| 73 |
msg = []
|
| 74 |
|
| 75 |
if not await is_login(page):
|
| 76 |
return "tsdm_not_login"
|
| 77 |
|
| 78 |
-
# 打工
|
| 79 |
-
# await page.pause()
|
| 80 |
-
|
| 81 |
await page.goto(tsdm_url) # 切换回电脑版
|
| 82 |
-
|
| 83 |
await page.goto(tsdm_cliwork_url)
|
| 84 |
|
| 85 |
-
if await page.
|
| 86 |
-
has_work = "今天已打工"
|
| 87 |
-
tsdm_logger.info(has_work)
|
| 88 |
-
msg.append(has_work)
|
| 89 |
-
else:
|
| 90 |
for pid in tsdm_plugin_id:
|
| 91 |
await page.locator(f"#np_advid{pid}").get_by_role("link").click()
|
| 92 |
-
|
|
|
|
| 93 |
await page.locator("#workstart").click() # 领取奖励
|
| 94 |
work_res = "打工成功"
|
| 95 |
tsdm_logger.info(work_res)
|
| 96 |
msg.append(work_res)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
|
| 98 |
return "\n".join(msg)
|
| 99 |
|
|
@@ -107,7 +110,7 @@ async def tsdm_sign():
|
|
| 107 |
sign_task = asyncio.create_task(sign(sign_page))
|
| 108 |
await asyncio.gather(sign_task)
|
| 109 |
await sign_page.close()
|
| 110 |
-
# 打工
|
| 111 |
cliwork_page = await context.new_page()
|
| 112 |
cliwork_task = asyncio.create_task(cliwork(cliwork_page))
|
| 113 |
await asyncio.gather(cliwork_task)
|
|
|
|
| 24 |
)
|
| 25 |
|
| 26 |
|
| 27 |
+
# on 监听弹窗事件
|
| 28 |
+
async def close_popup(popup):
|
| 29 |
+
# await popup.wait_for_load_state()
|
| 30 |
+
print(await popup.title())
|
| 31 |
+
await popup.close()
|
| 32 |
+
|
| 33 |
+
|
| 34 |
# 判断登录状态
|
| 35 |
async def is_login(page):
|
| 36 |
await page.goto(tsdm_url)
|
| 37 |
+
await page.wait_for_load_state()
|
| 38 |
+
if await page.get_by_role("link", name="签到领奖!").is_visible():
|
| 39 |
tsdm_logger.info("登录成功")
|
| 40 |
return True
|
| 41 |
else:
|
|
|
|
| 52 |
if not await is_login(page):
|
| 53 |
return "tsdm_not_login"
|
| 54 |
|
|
|
|
| 55 |
await page.goto(tsdm_sign_url)
|
| 56 |
+
|
| 57 |
+
if await page.get_by_text("今天已签到").is_visible():
|
|
|
|
|
|
|
|
|
|
| 58 |
sign_res = "今天已签到"
|
| 59 |
tsdm_logger.info(sign_res)
|
| 60 |
msg.append(sign_res)
|
|
|
|
| 73 |
return "\n".join(msg)
|
| 74 |
|
| 75 |
|
| 76 |
+
# 打工
|
| 77 |
async def cliwork(page):
|
| 78 |
msg = []
|
| 79 |
|
| 80 |
if not await is_login(page):
|
| 81 |
return "tsdm_not_login"
|
| 82 |
|
|
|
|
|
|
|
|
|
|
| 83 |
await page.goto(tsdm_url) # 切换回电脑版
|
| 84 |
+
await page.wait_for_load_state()
|
| 85 |
await page.goto(tsdm_cliwork_url)
|
| 86 |
|
| 87 |
+
if await page.locator("#workstart").is_enabled():
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
for pid in tsdm_plugin_id:
|
| 89 |
await page.locator(f"#np_advid{pid}").get_by_role("link").click()
|
| 90 |
+
page.on("popup", close_popup) # handle popup 不能 await
|
| 91 |
+
# await page.bring_to_front() # 回到第一个标签页
|
| 92 |
await page.locator("#workstart").click() # 领取奖励
|
| 93 |
work_res = "打工成功"
|
| 94 |
tsdm_logger.info(work_res)
|
| 95 |
msg.append(work_res)
|
| 96 |
+
else:
|
| 97 |
+
has_work = "今天已打工"
|
| 98 |
+
tsdm_logger.info(has_work)
|
| 99 |
+
msg.append(has_work)
|
| 100 |
|
| 101 |
return "\n".join(msg)
|
| 102 |
|
|
|
|
| 110 |
sign_task = asyncio.create_task(sign(sign_page))
|
| 111 |
await asyncio.gather(sign_task)
|
| 112 |
await sign_page.close()
|
| 113 |
+
# # 打工
|
| 114 |
cliwork_page = await context.new_page()
|
| 115 |
cliwork_task = asyncio.create_task(cliwork(cliwork_page))
|
| 116 |
await asyncio.gather(cliwork_task)
|
images/gmail.png
ADDED
|
utils.py
CHANGED
|
@@ -98,7 +98,9 @@ def get_pi_ip(host: str) -> str:
|
|
| 98 |
|
| 99 |
|
| 100 |
# gotify 推送
|
| 101 |
-
def push_msg(
|
|
|
|
|
|
|
| 102 |
gotify_ip = get_pi_ip(gotify_host)
|
| 103 |
url = f"http://{gotify_ip}:{gotify_port}/message?token={gotify_token}"
|
| 104 |
data = {
|
|
|
|
| 98 |
|
| 99 |
|
| 100 |
# gotify 推送
|
| 101 |
+
def push_msg(
|
| 102 |
+
title: str = "无标题", message: str = "无内容", img_url: str = gotify_img
|
| 103 |
+
) -> dict:
|
| 104 |
gotify_ip = get_pi_ip(gotify_host)
|
| 105 |
url = f"http://{gotify_ip}:{gotify_port}/message?token={gotify_token}"
|
| 106 |
data = {
|