PyAutoGui locateOnScreen 循环

PyAutoGui locateOnScreen Loop

我一直在尝试创建一个循环来查找图像,如果找不到则滚动一次然后再次尝试直到找到它。问题是,当它找到它时,它不会中断。我不明白为什么它没有破裂。它 returns none 每次滚动,直到它找到图像和它 returns 一个位置,但是一旦它 returns 它只是继续滚动的位置。

false = None
while false is None:
    try:
        none = pyautogui.locateOnScreen('findadobe.png', grayscale=True, confidence=0.7)
        time.sleep(1)
        scroll(-2600)
        pyautogui.moveTo(none)
        print(none)
        if false is not None:
            break
    except:
        print(none)

您永远不会更改 false 变量的值,因此它始终保持 None。此外,您使用 falsenone 作为变量名是在玩火。

这可能会更好一些:

loc = None
while loc is None:
    try:
        loc = pyautogui.locateOnScreen('findadobe.png', grayscale=True, confidence=0.7)
        time.sleep(1)
        scroll(-2600)
        pyautogui.moveTo(loc)
        print(none)
        if loc is not None:
            break
    except:
        print(loc)