|
微信自动化是不是又和女朋友吵架了?她生气又不想接你电话,但是你又不能真的不理她那就定时给她打个电话发个消息吧1.设计目标实现一个可以定时调用微信实现定时语音呼叫和对话发送的脚本2.实现原理1)使用python直接调用微信的api貌似不现实,应该也没有这种api预留给我们用户使用吧,我没有了解过,我认为不太可能有(2)出于实际,我使用简单粗暴的界面脚本,直接调用微信的exe文件并使用界面操作库以及按键库实现点击微信对应按钮实现自动化功能(3)使用Python的包管理器pip来安装这两个库。在你的命令行或终端中,运行以下命令:pipinstallpywinautopipinstalluiautomation这两条命令会分别安装pywinauto和uiautomation这两个库。如果你的系统中同时安装了Python2和Python3,你可能需要使用pip3命令来安装这两个库:pip3installpywinautopip3installuiautomation如果你在安装过程中遇到权限问题,你可以尝试在命令前加上sudo(在Linux或macOS中)或者使用pip的--user选项来进行安装:sudopipinstallpywinautosudopipinstalluiautomation或者pipinstall--userpywinautopipinstall--useruiautomation做好以上准备工作,就可以开始运行代码啦,当然啦,前提是你已经在你的电脑上安装了微信并且登陆了,然后把微信的exe文件地址在代码里进行替换,基本就大功告成啦下面代码中出现的ClassName可能在每个人的电脑中不尽相同,如果出现找不到窗口的问题,可以参考我的另一篇博文代码:#-*-coding:utf-8-*-importosimporttimefrompywinauto.keyboardimportsend_keys#导入按键操作库fromuiautomationimport*#界面自动化库classwechat_auto:"""初始化函数,依次传入微信的地址,目标人物微信名,循环次数(默认为3次),循环间隔时间(默认5s)"""def__init__(self,wechat_address,person_name):self.wechat_address=wechat_addressself.person_name=person_nameself.open_app(wechat_address)time.sleep(3)#等3秒等待软件加载出来defopen_app(self,app_dir)s.startfile(app_dir)defpage_open(self):#进入微信,模拟搜索按键:Ctrl+Fsend_keys('^f')#调用按键输入send_keys(self.person_name)time.sleep(1)#等待搜索到send_keys('{ENTER}')#回车键必须全部大小time.sleep(1)#等待两秒打开目标任务对话界面self.wechat_window=WindowControl(searchDepth=1,ClassName="WeChatMainWndForPC")self.wechat_window.SetActive()time.sleep(1)#等待界面稳定defsend_message(self,msg):#输入聊天内容send_keys(msg)#回车发送消息send_keys('{ENTER}')time.sleep(1)"""微信呼叫函数"""#cycle_times如果设为-1,则为持续发送defcall(self,cycle_times=3,delay_time=5,wait_time=37):i=0whilecycle_times==-1ori
|
|