利用Python发送微信消息的方法

微信是支持用快捷键打开主界面的,这个可以在微信的设置里看到,如下图所示

 利用Python发送微信消息的方法_第1张图片

我们就可以利用这一特性,用Python模拟按快捷键的操作,用来打开微信主界面。

打开主界面之后,使用Ctrl+F,定位到微信的搜索框,那之后又怎么输入内容呢?

我们可以使用Python操作系统的剪切板和模拟快捷键,把要输入的内容先放到剪切板里,再定位到搜索框之后,再粘贴到搜索框里。

 利用Python发送微信消息的方法_第2张图片利用Python发送微信消息的方法_第3张图片

内容粘贴进去后,微信会自动进行搜索,这时再按回车键,就可以打开搜索出的群、朋友或是图中的文件传输助手,且打开之后会自动将焦点定位到输入框。

这时我们再利用剪切板,把要发送的信息放到剪切板里,再粘贴到输入框中,再模拟按回车键发送消息。

 要模拟快捷键和操作剪切板,需要用到下面两个模块

pip install pyautogui
pip install pyperclip
# 引入pyautogui模块以操作快捷键
import pyautogui
# 引入pyperclip模块以操作剪切板
import pyperclip

下面是示例代码,需要注意的是,每一步操作之后,都需要使用 time.sleep() 暂停会儿,给微信一点反应的时间,要不然上一步还没完事,下一步就开始了,会出错。

经过测试,2秒比较合适。

WxTarget = "文件传输助手"
HotkeyDelay = 2

def sendWxMessage(msg):
    try:
        # 清空剪切板并将目标写入到剪切板
        pyperclip.copy("")
        pyperclip.copy(WxTarget)
        # 打开微信窗
        pyautogui.hotkey("ctrl", "alt", "w")
        time.sleep(HotkeyDelay)
        # 使用快捷键ctrl+f定位到微信搜索栏
        pyautogui.hotkey("ctrl", "f")
        time.sleep(HotkeyDelay)
        # 使用快捷键ctrl+v将目标粘贴到微信搜索栏,微信将自动搜索
        pyautogui.hotkey("ctrl", "v")
        time.sleep(HotkeyDelay)
        # 按回车键打开搜索出的目标
        pyautogui.press("enter")
        time.sleep(HotkeyDelay)
        # 清空剪切板并将未点检信息写入到剪切板
        pyperclip.copy("")
        pyperclip.copy(msg)
        # 使用快捷键ctrl+v将信息粘贴到微信输入框,按回车发送消息
        pyautogui.hotkey("ctrl", "v")
        time.sleep(HotkeyDelay)
        pyautogui.press("enter")
        # log
        logWriter("发送微信消息")
    except Exception as ex:
        logWriter("发送微信消息出现异常: " + str(ex))
        sys.exit(0)

 

你可能感兴趣的:(Python,python,微信)