This commit is contained in:
HuangHai
2026-01-12 21:33:21 +08:00
parent 2051cb61c2
commit 4612ee2d81
18 changed files with 457 additions and 191 deletions

View File

@@ -156,34 +156,14 @@ async def open_mini_program():
tab_chat.click()
await asyncio.sleep(1)
# 1. 点击搜索按钮(放大镜图标)
# 仅保留坐标点击逻辑
# window_size = d.window_size()
# w, h = window_size[0], window_size[1]
#
# # 精确相对坐标:x=84%, y=8% (基于截图推算)
# click_x = int(w * 0.84)
# click_y = int(h * 0.08)
# logger.info(f"使用精确坐标点击搜索按钮: ({click_x}, {click_y})")
# d.click(click_x, click_y)
# 点击搜索按钮(放大镜图标)
logger.info("尝试查找并点击 '搜索按钮(放大镜图标)'...")
search_template = os.path.join(BASE_DIR, "Templates", "SearchButton.jpg")
if not os.path.exists(search_template):
search_template = os.path.join(BASE_DIR, "SearchButton.jpg")
if click_image_template(d, search_template):
logger.info("点击了搜索按钮(放大镜图标)")
else:
logger.warning("未找到搜索按钮(放大镜图标),尝试兜底坐标点击...")
# 兜底点击:精确相对坐标:x=84%, y=8% (基于截图推算)
window_size = d.window_size()
w, h = window_size[0], window_size[1]
click_x = int(w * 0.84)
click_y = int(h * 0.08)
d.click(click_x, click_y)
logger.info(f"使用精确坐标点击搜索按钮: ({click_x}, {click_y})")
# 1. 直接使用坐标点击搜索按钮(放大镜图标)
logger.info("直接使用百分比坐标点击 '搜索按钮' (84%, 8%)...")
window_size = d.window_size()
w, h = window_size[0], window_size[1]
click_x = int(w * 0.84)
click_y = int(h * 0.08)
d.click(click_x, click_y)
logger.info(f"使用精确坐标点击搜索按钮: ({click_x}, {click_y})")
# 点击后给予一定的加载时间
await asyncio.sleep(2)
@@ -227,18 +207,11 @@ async def open_mini_program():
# logger.info(f"尝试坐标点击第一项: ({res_x}, {res_y})")
# d.click(res_x, res_y)
# 点击符合新电途图标的小程序
logger.info("尝试查找并点击 '新电途小程序'...")
xdt_template = os.path.join(BASE_DIR, "Templates", "xdt.jpg")
if click_image_template(d, xdt_template):
logger.info("点击了新电途的小程序")
else:
logger.warning("未找到新电途小程序图标,尝试坐标点击第一项...")
window_size = d.window_size()
w, h = window_size[0], window_size[1]
res_x, res_y = int(w * 0.5), int(h * 0.18)
d.click(res_x, res_y)
logger.info(f"坐标点击搜索结果第一项: ({res_x}, {res_y})")
# 3. 直接使用坐标点击搜索结果第一项 (50%, 18%)
logger.info("直接使用百分比坐标点击 '搜索结果第一项' (50%, 18%)...")
res_x, res_y = int(w * 0.5), int(h * 0.18)
d.click(res_x, res_y)
logger.info(f"坐标点击搜索结果第一项: ({res_x}, {res_y})")
await asyncio.sleep(10)
# 进入小程序后,检查并处理广告