'commit'
This commit is contained in:
69
WeiXin/T2_GetHistory.py
Normal file
69
WeiXin/T2_GetHistory.py
Normal file
@@ -0,0 +1,69 @@
|
||||
# coding=utf-8
|
||||
import uiautomator2 as u2
|
||||
import time
|
||||
import logging
|
||||
import sys
|
||||
import os
|
||||
|
||||
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
if project_root not in sys.path:
|
||||
sys.path.append(project_root)
|
||||
|
||||
from WeiXin.WxUtil import analyze_chat_image
|
||||
|
||||
# 配置日志
|
||||
log_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "Logs")
|
||||
if not os.path.exists(log_dir):
|
||||
os.makedirs(log_dir)
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
||||
handlers=[
|
||||
logging.FileHandler(os.path.join(log_dir, "T2_GetHistory.log"), encoding='utf-8'),
|
||||
logging.StreamHandler()
|
||||
]
|
||||
)
|
||||
logger = logging.getLogger("T2_GetHistory")
|
||||
|
||||
def get_history(target_name="对方"):
|
||||
logger.info("开始执行 T2: 获取当前屏幕对话历史...")
|
||||
|
||||
try:
|
||||
d = u2.connect()
|
||||
logger.info(f"设备连接成功: {d.info.get('serial')}")
|
||||
except Exception as e:
|
||||
logger.error(f"设备连接失败: {e}")
|
||||
return
|
||||
|
||||
# 截图
|
||||
screenshot_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "Screenshots")
|
||||
if not os.path.exists(screenshot_dir):
|
||||
os.makedirs(screenshot_dir)
|
||||
|
||||
timestamp = time.strftime("%Y%m%d_%H%M%S")
|
||||
filename = f"T2_history_{timestamp}.jpg"
|
||||
save_path = os.path.join(screenshot_dir, filename)
|
||||
|
||||
try:
|
||||
d.screenshot(save_path)
|
||||
logger.info(f"截图已保存: {save_path}")
|
||||
|
||||
analyzed_filename = f"T2_history_{timestamp}_analyzed.jpg"
|
||||
analyzed_path = os.path.join(screenshot_dir, analyzed_filename)
|
||||
|
||||
# 调用 WxUtil 中的分析函数
|
||||
dialogue_log = analyze_chat_image(save_path, analyzed_path, target_name=target_name)
|
||||
|
||||
logger.info("✅ T2 执行完成。历史对话如下:")
|
||||
if dialogue_log:
|
||||
for log in dialogue_log:
|
||||
print(log) # 打印到控制台
|
||||
else:
|
||||
logger.info("未提取到对话内容或当前屏幕无对话气泡。")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"❌ T2 执行失败: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
get_history()
|
||||
Reference in New Issue
Block a user