首页 > 解决方案 > TypeError:无法使用 pyautogui.click 多次解压不可迭代的 NoneType 对象

问题描述

晚上好,我在使用 python 3.7 时遇到了一些问题,这是我运行它时出现的错误。

I can see Go to map
I Clicked Go to Map
I can see goto_search
Traceback (most recent call last):
  File "C:\Users\HP\Desktop\Tutorial BOT\detect  photo.py", line 72, in <module>
    GoToSearch()
  File "C:\Users\HP\Desktop\Tutorial BOT\detect  photo.py", line 21, in GoToSearch
    pyautogui.click('PNG\\goto_search.png')
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\site-packages\pyautogui\__init__.py", line 586, in wrapper
    returnVal = wrappedFunction(*args, **kwargs)
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\site-packages\pyautogui\__init__.py", line 968, in click
    x, y = _normalizeXYArgs(x, y)
TypeError: cannot unpack non-iterable NoneType object
>>> 

from pyautogui import * import pyautogui 导入时间 导入键盘 随机导入 win32api, win32con

def GoToMap():
    if pyautogui.locateOnScreen('PNG\\goto_map.png', confidence= 0.8 ) != None:
        print("I can see Go to map")
        pyautogui.click('PNG\\goto_map.png')
        print("I Clicked Go to Map")
        time.sleep(5)
    else:
        print("I cant go to map")
        time.sleep(5)

def GoToSearch():
    if pyautogui.locateOnScreen('PNG\\goto_search.png', confidence= 0.8 ) != None:
        print("I can see goto_search")
        pyautogui.click('PNG\\goto_search.png')
        time.sleep(5)
        print("I Clicked goto_search")
    else:
        print("I cant goto_search")
        time.sleep(5)

def GoToSF():
    if pyautogui.locateOnScreen('PNG\\goto_sf.png', confidence= 0.8 ) != None:
        print("I can see goto_sf")
        pyautogui.click('PNG\\goto_sf.png')
        print("I Clicked goto_sf")
        time.sleep(5)
    else:
        print("I cant goto_sf")
        time.sleep(5)

def GoToSFSearch():
    if pyautogui.locateOnScreen('PNG\\goto_sfsearch.png', confidence= 0.8 ) != None:
        print("I can see goto_sfsearch")
        pyautogui.click('PNG\\goto_sfsearch.png')
        print("I Clicked goto_sfsearch")
        time.sleep(5)
    else:
        print("I cant goto_sfsearch")
        time.sleep(5)

def GoToSFAttack():
    if pyautogui.locateOnScreen('PNG\\goto_sfattack.png', confidence= 0.8 ) != None:
        print("I can see goto_sfattack")
        pyautogui.click('PNG\\goto_sfattack.png')
        print("I Clicked goto_sfattack")
        time.sleep(5)
    else:
        print("I cant go to goto_sfattack")
        time.sleep(5)

def GoToSFAttackEx():
    if pyautogui.locateOnScreen('PNG\\goto_sfattackexecute.png', confidence= 0.8 ) != None:
        print("I can see goto_sfattackexecute")
        pyautogui.click('PNG\\goto_sfattackexecute.png')
        print("I Clicked goto_sfattackexecute")
        time.sleep(5)
    else:
        print("I cant go to goto_sfattackexecute")
        time.sleep(5)


while 1:
    GoToMap()
    time.sleep(0.01)
    GoToSearch()
    time.sleep(0.01)
    GoToSF()
    time.sleep(0.01)
    GoToSFSearch()
    time.sleep(0.01)
    GoToSFAttack()
    time.sleep(0.01)
    GoToSFAttackEx()
    time.sleep(0.01)

我不明白为什么它会抛出我,因为在第一个( GoToMap() )函数 pyautogui.click 找到我的 .png 的 X,Y 我是否必须释放 pyautogui.click 的当前 X,Y 持有?谢谢

标签: python

解决方案


推荐阅读