引用chatgpt部分指引作答:
获取微信聊天记录是一个比较复杂的任务,需要对UI元素进行识别和操作。下面是一个简单的示例代码,可以获取微信聊天窗口中的文本消息内容和发送时间,您可以参考一下:
from pywinauto.application import Application
import time
# 启动微信
app = Application(backend='uia').start('微信.exe')
time.sleep(5)
# 连接微信进程
app = Application(backend='uia').connect(title='微信', timeout=10)
# 进入聊天窗口
chat = app['微信']
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('微信名')
chat.child_window(title='微信名', control_type='ListItem').click_input()
# 获取聊天记录
mes_dlg = app['微信名']
mes_list = mes_dlg.child_window(title='聊天记录', control_type='List')
for mes in mes_list.children():
try:
# 获取消息发送时间
time_item = mes.child_window(class_name='Static', control_type='Text')
send_time = time_item.window_text()
# 获取消息文本内容
content_item = mes.child_window(class_name='RichEdit20W', control_type='Edit')
content = content_item.window_text()
print(send_time, content)
except Exception as e:
print('Error:', e)
需要注意的是,聊天记录窗口中的UI元素可能因微信版本而异,需要根据实际情况进行调整。此外,由于微信中的UI元素比较多,有时候需要一定的延时来保证程序的稳定性。