用pyautogui模块模拟操作-点击

问题遇到的现象和发生背景

用pyautogui模块模拟操作-点击

问题相关代码,请勿粘贴截图

def kaishi():
tupianji = range(2) # 列表对应截图图片数
for i in tupianji: # 遍历图片
i = i+1
x = r'{}.png'.format(i) # 形成图片名
left, top, width, height = pyautogui.locateOnScreen(x, confidence=0.8)
time.sleep(1)
quzhong = pyautogui.center((left, top, width, height))
pyautogui.click(quzhong, duration=0.1)

运行结果及报错内容

TypeError: cannot unpack non-iterable NoneType object
图一运行完会点开一个窗口,窗口里才有图二,如果单独运行任何一个图片都没有问题,但是连起来,图二总是显示找不到

我的解答思路和尝试过的方法

我感觉是图一运行完后打开的新窗口对我做的函数模块有影响,导致无法找到,我开始觉得是python函数计算太快,窗口实际并没有完全打开,但是我加了time.sleep(10),依旧无法解决问题

我想要达到的结果

自定义的函数可以正常运行

time.sleep放错位置了,应该放到点击后,这样点击1的时候等待1s等窗口打开在识别。要不原来的逻辑是等待1s后获取居中点击,然后马上对第二张图片进行locateOnScreen,窗口应该是还没打开的。无法识别出来,改下面这样试试

def kaishi():
    tupianji = range(2) # 列表对应截图图片数
    for i in tupianji: # 遍历图片
        i = i+1
        x = r'{}.png'.format(i) # 形成图片名
        left, top, width, height = pyautogui.locateOnScreen(x, confidence=0.8)
        quzhong = pyautogui.center((left, top, width, height))
        pyautogui.click(quzhong, duration=0.1)
        time.sleep(1)###如果窗口打开很慢,还需要调整这里的延时

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632