pywechat简介
pywechat是我基于UI自动化技术开发的一个开源的windows桌面微信自动化操作工具,涉及到的工具和技术栈为pywinauto和windows api,基本实现了PC微信内置的各项操作。
pywechat结构:
微信版本:3.9.12.17
操作系统:🪟windows 10 🪟windows 11
python版本🐍:3.x
项目github地址:https://github.com/Hello-Mr-Crab/pywechathttps://github.com/Hello-Mr-Crab/pywechat
项目源码与操作手册已于github发布,望大家动动发财的小手帮忙点一个免费的star(*^▽^*)
获取方法
pip install pywechat127==1.8.7
导入方式
直接导入所有内容
from pywechat import *
XXX
从五个主模块中导入
from pywechat.WechatAuto import XXX
XXX
添加微信路径至环境变量
在使用pywechat自动化操作微信时,建议将微信Wechat.exe文件添加到windows系统环境变量中,因为pywechat默认使用windows环境变量中的Wechat.exe路径启动微信,此时调用其中的每个方法与函数无需传入wechat_path参数即可自动化操作微信。
from pywechat.WechatTools import Tools
Tools.set_wechat_as_environ_path()
使用以上两行代码便可自动添加微信exe文件为系统用户环境变量代码,需要注意的是无论是否登录微信此时要打开,否则会失败。
效果演示:
多文件发送
在使用pywechat给某个好友发送多个文件时你可以将所有待发送的文件放置在一个文件夹内,然后使用Files.send_files_to_friend方法发送,微信一次性发送文件的数量限制是9,pywechat可以突破此限制,即使你有上百个文件要发送,pywechat可以分批次每批9个进行发送,保证你可以一次性将文件夹内文件全部发送。
使用示例:
from pywechat.WechAuto import Files
folder_path="E:\OneDrive\Desktop\微信自动化操作.exe"
Files.send_files_to_friend(friend='文件传输助手',folder_path=folder_path)
多任务使用
微信不支持多线程,只支持单线程多任务轮流执行,pywechat也支持单线程多任务轮流执行,在运行多个实例时尽量请将所有函数与方法内的close_wechat参数设为False(默认为True)。
这样只需要打开一次微信,多个任务便可以共享资源,更加高效,否则,每个实例在运行时都会重启一次微信,较为低效。
示例:
from pywechat.WechatAuto import Messages,Files
Messages.send_messages_to_friend(friend='好友1',messages=['在测试','ok'],close_wechat=False)
Files.send_files_to_friend(friend='文件传输助手',folder_path=r"E:\OneDrive\Desktop\测试专用",with_messages=True,messages_first=True,messages=['在测试文件消息一起发,你应该先看到这条消息,后看到文件'],close_wechat=True)
运行上述代码后,微信将被打开先给好友1发送消息,然后接着继续给文件传输助手发送文件