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

PyAutoGUI调用locateOnScreen读取maximise.png报错解决方案求助

解决方案

1. 修复路径引用问题

90%以上的该类报错都是相对路径匹配不到文件导致,你直接写maximise.png的相对路径时,脚本的运行工作目录不一定等于脚本文件所在目录,VS Code默认运行Python的工作目录通常是打开的项目根目录而非脚本存放目录,修改代码使用绝对路径定位图片:

import os
import pyautogui as py
from pyautogui import *

# 拼接图片绝对路径,避免工作目录不一致问题
SCRIPT_PATH = os.path.abspath(__file__)
SCRIPT_DIR = os.path.dirname(SCRIPT_PATH)
MAXIMISE_IMG_PATH = os.path.join(SCRIPT_DIR, "maximise.png")

# Open BlueStacks from taskbar:
py.moveTo(2094, 1059, 1.2)
py.click()

# Wait for maximise icon to appear: 
status = False
while not status:
    loc = py.locateOnScreen(MAXIMISE_IMG_PATH)
    if loc is not None:
        py.click(py.center(loc))
        status = True

2. 验证图片有效性

运行以下命令确认图片是标准PNG格式,避免改后缀伪装的无效文件:

file /home/alex/Documents/Projects/foodOrderer/maximise.png

输出需包含PNG image data字样,不符合的话重新截图并保存为标准PNG格式。

3. 补全系统依赖

Arch Linux环境下pyscreeze(pyautogui的底层图片识别依赖)的OpenCV后端需要额外安装系统依赖:

sudo pacman -S --noconfirm opencv python-opencv libpng

4. 确认文件权限

单独给图片文件增加可读权限,避免目录权限不继承的问题:

chmod a+r /home/alex/Documents/Projects/foodOrderer/maximise.png

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 23:57:02