wxauto实现自动发送微信信息

目录

安装

获取信息

发送文字

单行信息

多行信息

发送文件

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 -

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白巧克力LIN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值