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

如何解决Pyautogui未找到屏幕目标图片时仍执行点击的问题

问题根因

pyautogui.locateOnScreen() 方法在屏幕上匹配不到目标图片时,会直接返回None。原有代码没有做返回值校验,直接把结果传给click();而click()接收到None参数时,默认会点击当前鼠标停留的位置,就会出现找不到目标图依然触发点击的现象。

修复方法

只需要在调用点击前加一层非空判断,仅当成功匹配到图片坐标时才执行点击即可,顺便修正原代码里的不合理写法(比如把导入语句放到循环外、加检测休眠避免CPU占满):

import pyautogui as a
import time

click_target = 'photoes/fish.png'
# 检测间隔,单位秒,避免循环跑满CPU
check_gap = 0.3

while True:
    location = a.locateOnScreen(click_target)
    # 仅当找到有效坐标时才触发点击
    if location:
        a.click(location)
    time.sleep(check_gap)
可选优化

如果经常出现匹配不准的情况,可以安装opencv-python依赖后,给locateOnScreen加上confidence参数调整匹配置信度(取值范围01,数值越高匹配要求越严格,常用值0.70.9),写法如下:
location = a.locateOnScreen(click_target, confidence=0.8)

内容的提问来源于stack exchange,提问作者Don't Worry

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 17:54:35