- 遇到问题
- 实现思路
- 实现源码
- 成功执行
- 总结与分析
- 难点:
- 判断是否符合转型条件
因为最近在剪辑《幸运星》视频,所以要录点素材,但是每集视频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中进行赋值,保证下面的判断语句可以正常执行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)