获取wx聊天记录是一个比较复杂的任务,需要对UI元素进行识别和操作。下面是一个简单的示例代码,可以获取wx聊天窗口中的文本消息内容和发送时间,可以参考一下:
from pywinauto.application import Application
import time
# 启动wx
app = Application(backend='uia').start('wx.exe')
time.sleep(5)
# 连接wx进程
app = Application(backend='uia').connect(title='wx', timeout=10)
# 进入聊天窗口
chat = app['wx']
chat.child_window(title='聊天', control_type='Button').click_input()
chat.child_window(title='搜索', control_type='ToolBar').click_input()
chat.child_window(title='搜索', control_type='ToolBar').type_keys('wx名')
chat.child_window(title='wx名', control_type='ListItem').click_input()
# 获取聊天记录
mes_dlg = app['wx名']
mes_list = mes_dlg.child_window(title='聊天记录', control_type='List')
for mes in mes_list.children():
try:
mes_item = mes.descendants(control_type="Text")[0] # 获取子项中的Text控件
send_time = mes_item.window_text() # 获取消息发送时间
content_item = mes.descendants(control_type="Edit")[0] # 获取子项中的Edit控件
content = content_item.window_text() # 获取消息文本内容
print(send_time, content)
except Exception as e:
print('Error:', e)