自制python脚本 - 定时鼠标点击脚本

自制python脚本 - 定时鼠标点击脚本,第1张

文章目录
  • 遇到问题
  • 实现思路
  • 实现源码
  • 成功执行
  • 总结与分析
    • 难点:
    • 判断是否符合转型条件

遇到问题

因为最近在剪辑《幸运星》视频,所以要录点素材,但是每集视频20分钟,我不能都再看一遍啊,所以要实现一个定时录制的功能,正好再学习一下python,一举两得,岂不美哉!!

实现思路
  • 坐标捕获
  • 判断点击
  • 延迟执行
实现源码
import pyautogui
import time

# 2022/4/9
# 16:01
# create by 刘鸿涛

while True:
    # String坐标赋给getString变量
    getString = ("\r" + str(pyautogui.position()))
    time.sleep(1)
    print(getString)
    # 先截取,再转int
    # 捕获x1
    x1 = getString[9:13]
    print(x1)

    # 捕获y2
    y1 = getString[17:21]
    print(y1)

    try:
        x = int(x1)
    except:
        print('x包含非数字字符....')
        x = x1

    try:
        y = int(y1)
    except:
        print('y包含非数字字符....')
        y = y1


    print(isinstance(x,int))
    print(isinstance(y,int))

    print(x)
    print(y)

    # 如果x,y顺利完成int转型,那么就执行以下语句
    if (isinstance(x, int) & isinstance(y, int)):
            # 左上角 -644 1064
            # 右下角 -520 1100
        if (-520 > x > -644 & x < -520 & 1100> y > 1064):
            print("对上了!!!")
            time.sleep(3)
            pyautogui.click(x,y)
            print("已执行!!")
    else:
            print("还未对上哦...")

成功执行

总结与分析

1:我们要获取鼠标光标坐标,使用pyautogui包的position方法,我们循环此方法,返回一个getString类型的String变量

2:我们需要给String截取并转型为int,这样我们才可以进行动态数字化判断

3:如果x和y在转型后都为int,那么我们就执行坐标判断,是否对上我们的目标焦点,如果对上,就print、sleep,并执行pyautogui.click(x,y),否则,打印未对上

难点: 判断是否符合转型条件

使用try except语句

如果我截取的此String包含非法字符,那么我本次转型必定会报异常,导致程序退出,所以我们使用try包裹

如果try未报异常,我们就直接转型,如果异常,证明有非法字符,所以我们在except中进行赋值,保证下面的判断语句可以正常执行

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/578536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存