Python WxAuto自动化操作微信
Python WxAuto自动化操作微信
WxAuto 作为一款基于 Python 的微信桌面版自动化库,通过模拟用户操作(如点击、输入)来实现自动化流程。凭借其简洁的 API 和强大的功能,帮助用户实现消息收发、聊天记录管理、好友操作等常见任务的自动化,提升工作效率。
一、WxAuto 简介
WxAuto 是一个专为 Windows 系统设计的微信自动化工具,它基于 Python 3.7+依赖 wxauto 库,适用于微信桌面版。其主要功能包括:
-
发送文字、图片、文件消息
-
获取聊天记录和历史消息
-
监听特定聊天的新消息
-
管理好友(添加、通过申请)
-
切换聊天窗口和获取好友信息
在使用前,请确保已安装正确版本的 Python 并配置好环境(参考官方文档:https://wxauto.loux.cc/docs/documents/Environment )。
二、基本使用方法
1. 安装与初始化
首先,通过 pip 安装 wxauto 库:
pip install wxauto
初始化微信对象是第一步,代码如下:
from wxauto import WeChat
# 获取微信窗口对象(需提前登录微信桌面版)wx = WeChat()# 输出示例:初始化成功,获取到已登录窗口:WeChat
2. 发送消息
WxAuto 支持发送文字、图片、文件等多种消息类型。
发送文字消息:
使用 SendMsg 方法,可指定接收人、消息内容及@提醒。
# 发送文字消息示例
msg_content = "您好,这是通过 WxAuto 发送的测试消息!"
recipient = "技术交流群" # 替换为实际聊天对象名称
wx.SendMsg(msg=msg_content, who=recipient, at=["管理员"])
发送文件或图片:
通过 SendFiles 方法发送本地文件,支持多文件批量发送。
# 发送多个文件示例
file_list = [
r"C:\data\report.pdf",
r"C:\data\chart.png"
]
wx.SendFiles(filepath=file_list, who=recipient)
3. 获取消息
自动化处理消息是 WxAuto 的核心功能之一。
获取当前聊天窗口消息:
使用 GetAllMessage 获取全部消息,并可选择保存媒体文件。
# 获取消息并保存图片
messages = wx.GetAllMessage(savepic=True, savefile=False)
for msg in messages:
if msg.type == 'friend':
print(f"{msg.sender} 说:{msg.content}")
elif msg.type == 'self':
print(f"我 发送:{msg.content}")
监听新消息:
通过 AddListenChat 和 GetListenMessage 实现实时监听。
# 监听指定聊天
listen_targets = ["客户A", "项目组"]
for target in listen_targets:
wx.AddListenChat(who=target)
new_msgs = wx.GetListenMessage()
for chat, msg_list in new_msgs.items():
for msg in msg_list:
if msg.type == 'friend':
chat.SendMsg("自动回复:消息已收到,稍后处理。")
4. 管理好友
WxAuto 支持自动化好友管理,如添加好友或通过申请。
添加好友:
使用 AddNewFriend 方法发起好友申请。
wx.AddNewFriend(
keywords="user123", # 微信号或手机号
addmsg="您好,我是来自技术社区的小王",
remark="技术伙伴",
tags=["同行", "合作"]
)
通过好友申请:
获取新申请列表并自动通过。
new_applications = wx.GetNewFriends()
if new_applications:
application = new_applications
application.Accept(remark="新好友", tags=["默认"])
5. 其他实用功能
- 切换聊天窗口:使用 ChatWith 快速跳转到指定聊天。
wx.ChatWith(who="家人群")
- 获取好友列表: GetAllFriends 返回好友昵称和备注信息。
friends = wx.GetAllFriends()
for friend in friends:
print(f"昵称:{friend['nickname']}, 备注:{friend['remark']}")
三、注意事项
-
WxAuto 仅支持 Windows 系统下的微信桌面版,需保持微信处于登录状态。
-
自动化操作应遵守微信使用规范,避免频繁操作触发限制。
-
建议在测试环境中先验证代码逻辑,再应用于实际场景。
四、应用场景
01. 发送消息(文字、图片、文件):
1.1 文字 + @提醒
from wxauto import WeChat
wx = WeChat() # 绑定已登录微信窗口
chat = "技术交流群" # 群名称或好友备注
wx.SendMsg("大家好,这是自动发送的消息", who=chat, at=["小王"])
1.2 批量发送图片 / 文件
files = [
r"D:\report\day.xlsx",
r"D:\report\chart.png"
]
wx.SendFiles(filepath=files, who=chat)
02. 实时监听新消息:
场景:客服机器人、群消息同步、关键字告警。
2.1 单群监听 + 自动回复
wx.AddListenChat(who="客户咨询群")
while True:
msgs = wx.GetListenMessage()
for chat, msg_list in msgs.items():
for msg in msg_list:
if msg.type == 'text' and "价格" in msg.content:
chat.SendMsg("价格表:https://example.com/price")
time.sleep(1)
2.2 多群同步转发(消息中继)
sources = ["售前群", "售后群"]
target = "运营日报群"
for s in sources:
wx.AddListenChat(who=s)
while True:
msgs = wx.GetListenMessage()
for chat, msg_list in msgs.items():
for msg in msg_list:
if msg.type == 'text':
wx.SendMsg(f"{chat.name}: {msg.content}", who=target)
time.sleep(1)
03. 好友管理(批量加人、自动通过):
3.1 关键字搜索 + 添加
wx.AddNewFriend(
keywords="user123", # 微信号/手机号
addmsg="您好,我是客服小助手",
remark="客户-user123",
tags=["付费用户"]
)
3.2 自动通过好友申请
new_friends = wx.GetNewFriends()
for applicant in new_friends:
applicant.Accept(remark="新客-来源官网")
wx.SendMsg("欢迎加入社群!回复【菜单】获取服务列表", who=applicant)
04. 定时任务
4.1 每日 9:00 推送运营日报
import schedule, datetime, pandas as pd
def job():
df = pd.read_excel(r"D:\data\daily.xlsx")
img_path = r"D:\data\daily.png"
df.plot().figure.savefig(img_path)
wx.SendFiles([img_path], who="运营总监群")
schedule.every().day.at("09:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
| 不要 | 建议 |
|---|---|
| 1 分钟 > 30 条消息 | 限速 1 秒/条 |
| 连续 24 h 运行 | 每 4 h 重启微信 |
| 重复内容轰炸 | 模板变量 + 随机后缀 |
限速装饰器:
import time, random
def rate_limit(interval=1.2):
def decorator(func):
def wrapper(*args, **kwargs):
time.sleep(interval + random.uniform(0, 0.3))
return func(*args, **kwargs)
return wrapper
return decorator
@rate_limit()
def safe_send(msg, who):
wx.SendMsg(msg, who=who)
WxAuto 以其轻量化和易用性,成为 Python 开发者实现微信自动化的优选工具。可快速构建自动回复、群管理或数据收集等实用脚本。
“无他,惟手熟尔”!有需要的用起来!关注「Nicholas与Pypi」获取更多Python实战!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)