如何实现python发微信,python微信自动发送消息
本文主要介绍如何利用Python中的apscheduler和pyautogui模块制作一个自动发送微信的程序。感兴趣的朋友可以和边肖一起尝试一下。
00-1010前言模块安装和导入pyautoguiapscheduler完整的代码结果
目录
事情是这样的:今天晚上,女朋友让我催她十二点睡觉。
但是,但是我太困了,无法忍受.正确和女朋友睡觉有什么重要的?
但是,我不敢违抗女朋友的命令…
但是没有它你就睡不着!
这时候我们该怎么办?是时候让Python出道了!
前言
这次我们做个程序自动发微信,半夜给女朋友发消息,也算是一个男朋友的本分吧。
我们需要两个模块:apscheduler和pyautogui。
Windows r快捷键打开操作控制框,输入cmd,输入命令行,输入:
pip安装时间表
pip安装pyautogui
导入:
导入pyautogui
从日期时间导入日期时间
fromapscheduler . schedulers . blocking导入阻塞调度程序#阻塞当前进程的调度程序。
#阻塞型调度程序将阻塞当前进程。如果希望调度程序在后台运行,可以使用以下代码:
# from apscheduler . schedulers . background导入后台调度程序
模块安装和导入
首先,让我们实现自动消息发送。
Pyautogui是一个非常强大的库,可以操作鼠标和键盘。我们将用它来完成计算机的自动操作。
让我们先做一些基本的设置:
Pyautogui。PAUSE=1 #设置每一步的时间间隔(以秒为单位),防止操作过快。
然后我们登录微信,最小化。
接下来,我们将鼠标放在微信的任务栏图标上,运行以下语句,获取光标此时的坐标,返回一个Point对象:
Print(pyautogui.position()) #打印坐标,点(x=148,y=879)
icon _ position=pyautogui . position()# Point(x=148,y=879)
打开微信,选择女朋友的回复窗口,将鼠标放在输入框上,同样得到光标坐标,为的是将焦点锁定到输入框,方便后期输入。
Print(pyautogui.position()) #打印坐标,点(x=174,y=751)
entry _ position=pyautogui . position()# Point(x=174,y=751)
接下来,控制程序依次点击这两个点:
Pygui.click (icon _ position) #默认情况下左键单击
# pyautogui.click(148,879)
pyautogui.click(entry_position)
# pyautogui.click(174,751)
打开微信,锁定焦点后,开始输入文字。
输入文本有两种方式:
pyautogui . typeet([ o , n , e , enter])
在该方法中,传递一个列表,其中的每个元素都是一个字母或一个特殊的键。
pyautogui.typewrite(您可以键入多个字母
ers in this way')
传入字符串,但不能同时打印字母和特殊按键。
这两种方式都不能直接输入中文,所以只能依靠你的输入法来输入中文了。
pyautogui.typewrite([*list(zhengzai ), *list(jinxing ), shift, *list(pyautogui), shift, *list(shiyan ), enter], 0.1) # 第一个参数是输入文本,第二个是输入每个字符的间隔时间
为了使我们的操作更加 人模狗样 像人的操作,我么来加上移动鼠标的代码:
pyautogui.moveTo(icon_position, duration=2) # duration为执行时长,可选pyautogui.click(icon_position)
pyautogui.moveTo(entry_position, duration=2)
pyautogui.click(entry_position)
pyautogui.typewrite([*list(zhengzai ), *list(jinxing ), shift, *list(pyautogui), shift, *list(shiyan ), enter], 0.1) # 第二个参数为按下每一个字母的间隔,可选
看看效果:
当然,若是你要输入的内容实在很多,又嫌麻烦,可以通过复制粘贴来实现:
import pyperclippyperclip.copy(正在进行发中文试验,看到请忽略,更不要骂傻逼) # 复制
pyautogui.hotkey(ctrl, v) # 按下组合键的方法,ctrl+v粘贴
pyautogui.press(enter) # 按下按键
这样,我们便完成了自动发送微信消息的功能了。
apscheduler
APScheduler 是一个Python库,可实现延迟调度要执行Python代码的功能,可以只执行一次,也可以定期执行。可以随时添加新任务或删除旧任务。能够十分方便地进行定时任务。
scheduler = BlockingScheduler() # 实例化一个调度器scheduler.add_job(main, date, run_date=datetime(2021, 8, 18, 24, 00, 00)) # 添加任务
scheduler.start()
add_job 方法在这里传了 3 个参数,第一个为到时间后要执行的函数,第二个为触发器的类型。这里选用的是 date 触发器,特定的时间点触发,作业任务只会执行一次。第三个参数 run_date 就是执行的时间。在这前我已经把自动发送消息的代码封装为了 main 函数,只需到时后调用即可。
完整代码
import pyautoguiimport pyperclip
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler
def main():
pyautogui.PAUSE = 0
icon_position = pyautogui.Point(x=148, y=879) # 任务栏图标位置
entry_position = pyautogui.Point(x=174, y=751) # 输入框位置
pyautogui.moveTo(icon_position, duration=1) # duration为执行时长,可选
pyautogui.click(icon_position)
pyautogui.moveTo(entry_position, duration=0.7)
pyautogui.click(entry_position)
pyperclip.copy(快去睡觉)
pyautogui.hotkey(ctrl, v)
pyautogui.press(enter)
pyperclip.copy(笨猪)
pyautogui.hotkey(ctrl, v)
pyautogui.press(enter)
scheduler = BlockingScheduler() # 实例化
scheduler.add_job(main, date, run_date=datetime(2021, 8, 18, 24, 00, 00)) # 添加任务
scheduler.start()
完成啦!现在可以去睡觉了。
结果
第二天早上起床,我被我妈妈骂了一顿,问我为什么午夜12点的时候电脑还亮着,而且还在自己发微信!
不过,好在女朋友没丢,我成功完成了女朋友的任务!
以上就是详解Python如何制作自动发送微信的程序的详细内容,更多关于Python自动发送微信的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。