pyautogui locateonscreen方法当屏幕内没有图片时报错,而不返回None值的问题
(咳咳,绝对不是想水学分)但是在实际操作时却遇到一个问题就是当locateonscreen方法找不到图片时,pyautogui就会报错,而不像网上的一样返回None值,无法继续进行程序的运行,这折磨了我好久好久,研究了好久后,终于解决啦!上面说在0.1.19版本时就已经升级,用报错来取代返回None值了,那是其实还是保留了返回None值的功能——只需要把开关打开,就是。除此之外,我们还有另外的解决
在我自己学pyautogui时,用pyautogui想自己做一个刷课程序,这样我就可以解放双手啦!(咳咳,绝对不是想水学分)但是在实际操作时却遇到一个问题就是当locateonscreen方法找不到图片时,pyautogui就会报错,而不像网上的一样返回None值,无法继续进行程序的运行,这折磨了我好久好久,研究了好久后,终于解决啦!
打开pyautogui依赖的pyscreeze\__init__.py文件,我们会找到报错的源头:
在这里就说了,“你需要保证pyscreeze.USE_IMAGE_NOT_FOUND_EXCEPTION的值时‘True’,这个程序就会在没有找到图片时报错,否则它就会返回None值。”
于是我们找到USE_IMAGE_NOT_FOUND_EXCEPTION,源头找到啦!!上面说在0.1.19版本时就已经升级,用报错来取代返回None值了,那是其实还是保留了返回None值的功能——只需要把开关打开,就是图片最下面那行代码的True改成False(我这时已经改过了的)就好啦!
除此之外,我们还有另外的解决方法,就是可以在你的代码中增加try方法,这样就可以做到判断图片是否找到同时不会终止程序的运行啦!
import pyautogui
try:
picture_loc = pyautogui.locateCenterOnScreen(picture, confidence=confidence)
except:
print('哈哈哈哈,没找到图片!!!')
就是这样,希望能帮上大家!
~(> w <)~
更多推荐
所有评论(0)