赞
踩
目录
wxauto是Windows版本微信客户端自动化框架,可以实现简单的发送、接收、读取信息等。
在使用前必须登录微信客户端,且不能关闭微信客户端窗口,否则无法获取微信客户端信息。
wxauto安装方式很简单,在终端执行如下代码即可:
pip install wxauto
获取当前微信聊天窗口聊天代码如下:
- from wxauto import *
- wx = WeChat() # 获取当前微信客户端
- msgs = wx.GetAllMessage # 获取当前聊天窗口聊天消息
- for msg in msgs:
- print(msg[0],msg[1])
获取到的微信聊天信息是以元组的方式存储,其中元组的第一个值为微信名,第二个值为微信聊天信息。
当我们想获取指定好友的微信信息时,可以使用Search()方法搜索指定好友并打开该好友的对话窗,再用GetAllMessage()方法获取当前聊天窗口的聊天信息,示例代码如下:
- from wxauto import *
- wx = WeChat() # 获取当前微信客户端
- wx.Search('文件传输助手') # 搜索指定好友
- msgs = wx.GetAllMessage # 获取当前聊天窗口聊天消息
- for msg in msgs:
- print(msg[0],msg[1])
注意:
当搜索的微信昵称不完全匹配时,只会选取搜索框的第一个;
只能获取已加载的聊天信息。
当我们想获取所有聊天信息时,可以LoadMoreMessage()方法滚动鼠标滚轮,加载更多聊天记录到内存,示例代码如下:
- from wxauto import *
- wx = WeChat() # 获取当前微信客户端
- wx.LoadMoreMessage() # 在聊天窗口中滚动鼠标滚轮
- msgs = wx.GetAllMessage # 获取当前聊天窗口聊天消息
- for msg in msgs:
- print(msg[0],msg[1])
这样就可以获取到更多聊天信息了。
发送单行信息示例代码如下:
- from wxauto import *
- wx = WeChat() # 获取当前微信客户端
- msg = '你好~' # 发送的内容
- who = '文件传输助手' # 接收信息的微信好友昵称
- wx.ChatWith(who) # 打开与接收信息的微信好友聊天对话框
- wx.SendMsg(msg) # 发送信息
当当前会话列表中有你要发送信息的微信好友时,会直接定位到好友对话框再发送信息;
当当前会话列表中没有你要发送信息的微信好友时,会先向下滚动会话列表,若还是没有找到好友时,会在搜索框进行搜索。
注意:默认删除对话框原有的文字,当你想保留时,可以使用clear参数,示例代码如下:
- from wxauto import *
- wx = WeChat() # 获取当前微信客户端
- msg = '你好~' # 发送的内容
- who = '文件传输助手' # 接收信息的微信好友昵称
- wx.ChatWith(who) # 打开与接收信息的微信好友聊天对话框
- wx.SendMsg(msg,clear=False) # 不清除原对话框原有文字
当我们想发送多行信息时,可以使用WxUtils.SetClipboard()方法将需要发送的信息存储到剪贴板,再通过SendClipboard()方法将剪贴板的信息复制到聊天对话框并发送,示例代码如下:
- from wxauto import *
- wx = WeChat() # 获取当前微信客户端
- msg = f'''你好
- 第二行
- 第三行
- 第四行'''
- who = '文件传输助手' # 接收好友昵称
- wx.ChatWith(who) # 打开与接收信息的微信好友聊天对话框
- WxUtils.SetClipboard(msg) # 将需要发送的信息存储到剪贴板
- wx.SendClipboard() # 发送信息
发送文件与发送文字类似,只是发送文件使用SendFiles(),示例代码如下:
- from wxauto import *
- wx = WeChat()
- file1 = f'E:/文件.xlsx' # 需要发送的文件
- file2 = f'E:/文件2.xlsx'
- who = '文件传输助手' # 接收好友
- wx.ChatWith(i)
- wx.SendFiles(file1,file2)
当没有找到要发送的文件时,程序会自动终止运行,我们可以在SendFiles()方法中添加not_exists='ignore'代码,即使找不到文件也不终止程序。
注意:在程序运行时,不要随意移动鼠标,否则会有意想不到的惊喜!!!
公众号:白巧克力LIN
该公众号发布Python、数据库、Linux、Flask、自动化测试、Git、算法等相关文章!
- END -
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。