即使在那一刻不在屏幕上查找屏幕上的图像



如果我想查找图像,即使不是那时,但是当找到它时,我可以使用什么代码?我的代码是:

import pyautogui as auto
import time
import pyautogui

def Saludar (seconds,schedule) :
    while (1>0) and (schedule == True) :
        time.sleep(seconds)
        x, y = auto.locateCenterOnScreen('linea.png', grayscale=True)
        auto.moveTo(x,y)
        pyautogui.click()
        print("YA")

if __name__== "__main__":
    Saludar(2,True)

错误:

Traceback (most recent call last):
  File "C:/Users/mario/Desktop/buscar aun si no está.py", line 19, in <module>
    Saludar(2,True)
  File "C:/Users/mario/Desktop/buscar aun si no está.py", line 11, in Saludar
    x, y = auto.locateCenterOnScreen('linea.png', grayscale=True)
TypeError: 'NoneType' object is not iterable

找不到图像时会引起 TypeError异常。您可以简单地通过尝试/除外:

import pyautogui as auto
import time
import pyautogui

def Saludar(seconds, schedule):
    while (1 > 0) and (schedule == True):
        time.sleep(seconds)
        try:
            x, y = auto.locateCenterOnScreen(
                'Desktop/linea.png', grayscale=True)
            print('Found it!')
            auto.moveTo(x, y)
            pyautogui.click()
        except TypeError:
            """
            Image is not found
            """
            print("Image is Not found on the screen!")

if __name__ == "__main__":
    Saludar(2, True)

最新更新