
pyautogui 的 `displaymouseposition()` 因依赖模块未正确导入而报错,推荐使用更稳定、功能更全的 `pyautogui.mouseinfo()` 替代,它能实时显示鼠标坐标、rgb 值及屏幕截图预览,是定位 ui 元素的理想调试工具。
pyautogui.displayMousePosition() 是一个已弃用(deprecated)且在较新版本中存在兼容性问题的函数。其内部依赖 pyscreeze 模块执行截图操作,但在某些安装环境下(尤其是通过 pip 单独升级 PyAutoGUI 而未同步更新依赖时),pyscreeze 可能未被正确导入或初始化,从而引发 NameError: name 'pyscreeze' is not defined 错误——这正是你遇到的问题。
✅ 正确解决方案:使用 pyautogui.mouseInfo()
该函数是 PyAutoGUI 官方推荐的交互式坐标调试工具,启动后会弹出一个悬浮窗口(Mouse Info Panel),实时显示:
- 当前鼠标 X/Y 坐标(相对于屏幕左上角)
- 鼠标下方像素的 RGB 颜色值
- 实时缩略截图(含十字准心标记当前位置)
- 支持快捷键复制坐标(如 F1 复制当前坐标到剪贴板)
使用方法非常简单:
import pyautogui pyautogui.mouseInfo()
⚠️ 注意事项:首次运行需确保已安装 pyscreeze(PyAutoGUI 的核心依赖),可通过以下命令补全: pip install --upgrade pyscreezemouseInfo() 依赖 Pillow(用于图像处理)和 tkinter(用于 GUI 窗口),Windows/macOS 默认支持;Linux 用户需额外安装 python3-tk。运行后窗口不会自动关闭,请按 Esc 或点击关闭按钮退出;若卡死,可按 Ctrl+C 中断进程。若提示 ModuleNotFoundError: No module named 'tkinter',请确认 Python 安装包包含标准库 GUI 组件(推荐使用官方 Python.org 安装包而非某些精简版发行版)。
? 小技巧:你还可以在代码中结合 pyautogui.position() 获取瞬时坐标,用于脚本开发中的快速验证:
import pyautogui
print("当前鼠标位置:", pyautogui.position()) # 输出如:Point(x=842, y=426)总之,放弃 displayMousePosition(),拥抱 mouseInfo() —— 它更可靠、更直观、也更符合现代 PyAutoGUI 的设计规范。掌握这一工具,将极大提升你编写自动化点击、截图、UI 导航类脚本的效率与准确性。










