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

使用pyautogui定位点击屏幕图片时报FileNotFoundError该如何解决?

pyautogui 报FileNotFoundError找不到图片问题解决方案

你遇到的报错核心原因是Python读取相对路径文件时,参考的是终端的当前工作目录,而非脚本文件所在的目录。从你的报错日志可以看到:

  • 终端当前工作目录是 C:\Users\rkwad
  • 你的脚本存放在 c:/Users/rkwad/OneDrive/Desktop/python/moretest.py
    你直接写相对路径 '7boi.png' 时,Python会去 C:\Users\rkwad 目录下查找文件,而非脚本所在的python文件夹,所以即便你把图片和脚本放在同一个目录,也会触发找不到文件的报错。

解决方案

  • 方案1:直接使用绝对路径指定图片位置
    把文件路径替换为完整的绝对路径,注意路径前加r避免Windows路径的转义字符问题:
    button7location = pyautogui.locateOnScreen(r'C:\Users\rkwad\OneDrive\Desktop\python\7boi.png')
    
  • 方案2:动态拼接脚本目录与图片路径(推荐,不受运行目录影响)
    引入os模块自动获取脚本所在目录,拼接得到图片的绝对路径,不管你在哪个目录下运行脚本都能正常找到文件:
    import pyautogui
    import os
    import time
    
    # 获取当前脚本所在的目录
    script_dir = os.path.dirname(os.path.abspath(__file__))
    # 拼接得到图片的完整路径
    img_path = os.path.join(script_dir, '7boi.png')
    
    button7location = pyautogui.locateOnScreen(img_path)
    # 补充:locateOnScreen返回的是区域对象,建议取中心点点击避免定位偏移
    if button7location:
        center = pyautogui.center(button7location)
        pyautogui.moveTo(center)
        pyautogui.click(center)
    else:
        print("未在屏幕上找到目标图片")
    
  • 其他检查项
    • 确认Windows系统没有隐藏文件扩展名:打开文件资源管理器顶部「查看」选项卡,勾选「文件扩展名」,避免你实际保存的文件名是7boi.png.png(系统隐藏了后一个.png后缀导致看起来文件名正确)
    • 可以在代码中加入print(os.getcwd())打印Python当前的工作目录,确认你是否把图片放在了对应的路径下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:21:02