文章开头,先来看一个demo的效果。

执行程序,打开桌面微信客户端,然后打开文件传输助手,最后发送消息。

当然这个例子是给文件传输助手发,你也可以给女朋友发,设置个定时,可以安心地去睡觉,或者干别的,给领导发,每天定时发工作汇报,如果你是一个社群运营,每天要往不同的群里发东西,用这个小脚本就能轻松做到,话不多说,下面一起来看看吧!

这个案例只需要基础的语法知识即可,其余的功能都是用的第三方库。

这里用到了两个库,pyautogui,和pyperclip。

先来看pyautogui :

pyautogui自动化控制鼠标和键盘操作,安装:

pip install pyautogui

这里没有用到鼠标,直接用的是键盘快捷键:

这个库可以执行的方法如下:可以输入,按下,快捷键等。

#模拟输入信息 pyautogui.typewrite(message='Hello world!',interval=0.5) #点击ESC pyautogui.press('esc') # 按住shift键 pyautogui.keyDown('shift') # 放开shift键 pyautogui.keyUp('shift') # 模拟组合热键 pyautogui.hotkey('ctrl', 'c')

快速打开微信客户端,可以用到的快捷键就是Ctrl Alt w。查看方法如图所示:

python微信自动发送消息给好友(怎样用Python自动打开微信)(1)

然后我们就可以直接导入,并定义一个打开微信的函数了。

import pyautogui def openWechat(): pyautogui.hotkey("ctrl","alt","w")

接下来打开微信后,我们用人工的操作方式应该是找到搜索框进行搜索,然后输入要搜索的名字,确定后再消息。

接下来就是就需要用到另外一个库pyperclip,这个库只有一个读写剪贴板的功能。

>>> import pyperclip >>> dd=pyperclip.paste() >>> print(dd) python大法好! >>> pyperclip.copy("docs.python.org") >>> pyperclip.paste() 'docs.python.org'

我们用到这个库的原因是我们在ide里边写好文本,需要代码把文本传到微信客户端上去。

这里还是用到快捷键,ctrl f,搜索,然后粘贴文本,然后回车确定,即可找到需要找的人。

import pyperclip # TODO 定义一个查询联系人的函数,参数为name def chatWho(name): # TODO 使用hotkey函数,操作按键"ctrl","f",打开搜索 pyautogui.hotkey("ctrl","f") # TODO 使用pyperclip模块中的copy函数,复制微信号name到剪贴板 pyperclip.copy(name) # TODO 使用hotkey函数,操作按键"ctrl", "v",粘贴微信号 pyautogui.hotkey("ctrl","v") time.sleep(1) # TODO 使用hotkey函数,操作按键"enter",确认搜索 pyautogui.hotkey("enter") chatWho("文件传输助手")

最后就是发送函数,直接复制需要传输的文本,然后粘贴到微信对话框,再点击回车即可发送。

最后可以导入time库,防止大批量执行的时候,程序执行过快,导致微信封号。

完整的代码就是这边啦!

import pyautogui import time def openWechat(): pyautogui.hotkey("ctrl","alt","w") time.sleep(1) import pyperclip # TODO 定义一个查询联系人的函数,参数为name def chatWho(name): # TODO 使用hotkey函数,操作按键"command","f",打开搜索 pyautogui.hotkey("ctrl","f") # TODO 使用pyperclip模块中的copy函数,复制微信号name到剪贴板 pyperclip.copy(name) # TODO 使用hotkey函数,操作按键"command", "v",粘贴微信号 pyautogui.hotkey("ctrl","v") time.sleep(1) # TODO 使用hotkey函数,操作按键"return",确认搜索 pyautogui.hotkey("enter") time.sleep(2) def sentMsg(msg): pyperclip.copy(msg) pyautogui.hotkey("ctrl","v") pyautogui.hotkey("enter") # 调用OpenWechat()函数打开桌面微信 openWechat() # TODO 调用chatWho(name)函数查找联系人,"duqian" chatWho("文件传输助手") sentMsg("发布测试")

接下来就是给特定的好友发消息,这一步我没做,修改的代码就是把chatWho函数那需要发送的好友微信号做一个列表,然后做循环执行即可。发布的消息如果需要带上每个人的昵称,可以在sentMsg里修改循环字符串。

那你要问了,怎么才能获取这些好友的微信号呢,如果要是一个个搜,那不是也很麻烦,你可以用这个库来进行,不过现在因为网页版微信不能用了,所以就用起来比较困难了。

python微信自动发送消息给好友(怎样用Python自动打开微信)(2)

,