# coding=utf-8 import asyncio import logging import os import time import uiautomator2 as u2 from Apps.TeLaiDian.Kit import take_screenshot, setup_logger # 初始化日志 logger = setup_logger("OpenTeLaiDian") async def open_mini_program(): """ 进入微信小程序: 特来电 """ d = u2.connect() logger.info("执行进入小程序: 特来电") # 1. 启动微信 logger.info("启动微信...") d.app_start("com.tencent.mm", stop=True) await asyncio.sleep(5) logger.info("点击搜索按钮...") w, h = d.window_size() d.click(int(w * 0.84), int(h * 0.08)) await asyncio.sleep(2) logger.info("输入搜索内容: 特来电") try: d.set_input_ime(True) except Exception as e: logger.warning(f"启用 FastInputIME 失败: {e}") try: search_bar_x, search_bar_y = int(w * 0.4), int(h * 0.08) d.click(search_bar_x, search_bar_y) await asyncio.sleep(1.5) except Exception as e: logger.warning(f"点击搜索框以获取焦点失败: {e}") try: d.send_keys("特来电") except Exception as e: logger.warning(f"直接 send_keys 失败: {e}") try: d(focused=True).set_text("特来电") except Exception as e2: logger.error(f"文字输入彻底失败: {e2}") await asyncio.sleep(3) try: d.set_input_ime(False) except Exception as e: logger.warning(f"恢复系统输入法失败: {e}") # 4. 点击搜索结果中的第一个小程序 logger.info("点击搜索结果中的小程序...") # 这里的坐标可能需要根据实际情况调整,先参考 YeLiTe 的实现 d.click(int(w * 0.5), int(h * 0.18)) logger.info("等待小程序加载...") await asyncio.sleep(10) logger.info("已到达小程序页面,停止执行。") return True if __name__ == "__main__": asyncio.run(open_mini_program())