You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历完整图片数组后判断是否找到目标图片并执行对应操作

遍历图片数组匹配后执行对应操作的实现方案

问题原因

你原有代码存在两个核心问题:

  1. 逻辑判断位置错误:将「单张图片不匹配」的判断放在了for循环内部,只要某一张图片没匹配到就会直接触发else分支点击y并终止循环,不会继续检查后续图片
  2. 变量名不统一:定义的变量是found,判断时用的是大写的Found,会触发未定义变量报错

解决思路

  • 提前定义一个匹配状态标记,初始值设为False
  • 遍历所有图片的过程中,只要匹配到任意一张,就修改标记为True,执行点击x的操作后终止遍历循环即可
  • 整个数组遍历完成后,再判断标记状态:如果标记还是False,说明所有图片都未匹配,此时再执行点击y的操作

最简修正代码(对应你的错误示例)

# 初始化匹配标记
found_match = False
for image in image_list:
    found = pyautogui.locateCenterOnScreen(image)
    if found is not None:                                                    
        pyautogui.click(x)
        found_match = True
        # 已经找到匹配项,无需继续遍历,直接退出for循环
        break

# 所有图片遍历完成后再判断未匹配的情况
if not found_match:
    pyautogui.click(y)

优化后完整可运行代码(对应你提供的完整版示例)

import os
import pyautogui as py
from PIL.ImageOps import grayscale

a = 0
aC = 0
image_list = []
# 获取当前目录下所有文件
directory = os.listdir()

# 筛选所有png格式的图片加入数组
for file in directory:
    if file.endswith('.png'):
        image_list.append(file)

while True:
    if py.locateOnScreen('a.jpg') is not None:
        breaking_bool = False
        while not breaking_bool:
            # 初始化匹配标记
            found_match = False
            # 主匹配循环
            for image in image_list:
                found = py.locateCenterOnScreen(image, grayscale=True, confidence=0.8)
                if found is not None:
                    # 匹配到对应图片,点指定位置x
                    py.moveTo(1700,1000,0.1)
                    py.sleep(0.01)
                    py.click()
                    py.sleep(1)
                    found_match = True
                    break
            # 遍历完所有图片后判断未匹配场景
            if not found_match:
                # 所有图片都未匹配,点指定位置y
                py.moveTo(1415,1000,0.1)
                py.sleep(0.01)
                py.click()
                py.sleep(1)
                breaking_bool = True
            aC = aC + 1
    a = a + 1

优化说明:新增了grayscale=True加快匹配速度,confidence=0.8调整匹配精度避免误判,可根据实际需求调整参数值。

内容的提问来源于stack exchange,提问作者user9686961

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 16:39:02