在使用Pyautogui进行图片识别时,因版本升级原因,未识别到图片时会程序报意外错误,导致程序异常退出,我们肯定不希望程序这么敏感,这里参考python—raise异常捕获,进行异常捕捉。
异常解决思路:
报错代码:
location = pyautogui.locateCenterOnScreen(img, confidence=0.9)
confidence是图片识别精度,数字越大精度越高,不会错误识别,数字越小精度越低。
还可以在括号内加 grayscale=True 来让pyautogui来识别黑白图片。
在报错后使用单步执行,找出源文件的报错代码段
错误是raise进行触发的,在查阅资料后,发现使用关键字try可以捕捉该异常,且会返回是哪种异常。只要将报错的代码写入try结构体内即可。
try:
location = pyautogui.locateCenterOnScreen(img, confidence=0.9)
if location is not None:
pyautogui.click(location.x, location.y, clicks=clickTimes, interval=0.2, duration=0.2, button=lorR)
print("点击X坐标",location.x,"点击Y坐标",location.y)
return location.x, location.y
except ValueError as e:
print("ValueError", e)
except IndexError as e:
print("IndexError", e)
except Exception as e:
print("Exception", e)
# 如果没有异常,则执行else操作
else:
print('I love try')
当try里面的代码报错后,会根据报错类型来执行except。