如何实现python发微信,python微信自动发送消息

  如何实现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 pyperclip

  pyperclip.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 pyautogui

  import 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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: