学习pyautogui制作的消息提醒

Python学习记录

关于控制鼠标键盘使用的模块:pyautogui,能控制鼠标的点击,移动,拖动,滚动。
以及一个Python的定时任务调度框架的模块:apscheduler能进行延迟执行任务,在指定时间日期内运行设定好的工作。
在一个博主那看到的很有意思的代码,可以定时发送信息,可以做信息轰炸,便自己去函数库学习了一下,做了一个定时提醒的消息。博主是用来哄女盆友的,由于我没有女盆友,于是决定用来提醒好朋友看每周六佘颖欣的直播。

代码如下

import pyautogui
import pyperclip
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler

def main():

        pyautogui.doubleClick(x=52, y=513, button="left") # button属性为鼠标的三个按键,doubleClick 是点击两次

        pyautogui.click(x=319, y=200, duration=2)

        pyautogui.click(x=527, y=694, duration=2)

        pyperclip.copy('看我蛇姐直播')
        
        pyautogui.hotkey('ctrl', 'v')
         
        pyautogui.press('enter') # 按下并松开(轻敲)回车键
        
scheduler = BlockingScheduler() # 实例化
scheduler.add_job(main, ‘date’, run_date=datetime(2022, 9, 19, 0, 30, 00)) # 添加任务
scheduler.start() #这一段为定时函数,通过改变时间,读取电脑本身的时钟来完成定时任务

达到设定的时间后,鼠标会根据坐标找到图标的位置双击进入微信,点击微信置顶,单击打开对话框然后粘贴输入的内容,enter发送。

def get_mouse_positon():
  time.sleep(5) # 准备时间
  print('开始获取鼠标位置')
  try:
    for i in range(10):
      # Get and print the mouse coordinates.
      x, y = pyautogui.position()
      positionStr = '鼠标坐标点(X,Y)为:{},{}'.format(str(x).rjust(4), str(y).rjust(4))
      pix = pyautogui.screenshot().getpixel((x, y)) # 获取鼠标所在屏幕点的RGB颜色
      positionStr += ' RGB:(' + str(pix[0]).rjust(3) + ',' + str(pix[1]).rjust(3) + ',' + str(pix[2]).rjust(
        3) + ')'
      print(positionStr)
      time.sleep(0.5) # 停顿时间
  except:
    print('获取鼠标位置失败')
 
 
if __name__ == "__main__":
  get_mouse_positon()

这串代码是用来寻找APP图标位置和对话框位置的,他会打印出位置的坐标还能打印当前位置的RGB颜色,python海龟绘图体系里面介绍过坐标等位置的含义,打印坐标还比较容易理解。

在这里插入图片描述

鼠标的移动速度是可以控制的,可以慢慢移动,也可以直接到达坐标位置,移动的效果可以更加清晰的看到过程。

在这里插入图片描述
这里附上效果图,第一次做视频转gif,这个不是很清晰,但是这样我就不用打马赛克了。
刚学习自动化模块,自己照着做这个感觉很有意思,也学到了很多。代码在函数库有更详细的解释,我也只是一个初学者。当然自动化的应用专业的肯定还是selenium,但是pyautogui作为一个入门的学习还是非常有意思的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值