
pyautogui 的 `displaymouseposition()` 因依赖模块未正确导入而报错,推荐改用 `mouseinfo()` —— 它启动交互式坐标监控窗口,支持实时查看鼠标位置、rgb 值及截图,是定位点击坐标的首选调试工具。
pyautogui.displayMousePosition() 是一个已弃用且存在兼容性问题的函数:它在较新版本(尤其是 PyAutoGUI ≥ 0.9.54 + Python 3.12+)中因内部未正确导入 pyscreeze 模块而触发 NameError,即使 pyautogui 本身功能正常(如 click()、moveTo()),该函数仍会崩溃。
✅ 正确替代方案是使用 pyautogui.mouseInfo():
它会启动一个独立的图形化调试窗口(需 Tkinter 支持),实时显示:
- 当前鼠标绝对坐标(x, y)
- 鼠标下方像素的 RGB 值
- 屏幕截图缩略图(可拖动鼠标预览)
- 支持快捷键复制坐标(如 Ctrl+C 复制当前坐标)
import pyautogui # 启动交互式鼠标信息面板(推荐!) pyautogui.mouseInfo()
⚠️ 注意事项:
- 首次运行可能弹出 Windows SmartScreen 提示(因含 Tkinter GUI),请允许执行;
- 确保已安装 pyscreeze(PyAutoGUI 通常自动依赖,但可手动验证:pip install pyscreeze);
- 若提示 ModuleNotFoundError: No module named 'tkinter',说明 Python 未安装 Tkinter(常见于某些精简版 Python 或 Linux 无桌面环境),此时可退而求其次,用轮询方式简易获取坐标:
import pyautogui
import time
print("将鼠标移至目标位置,3秒后记录坐标...")
time.sleep(3)
x, y = pyautogui.position()
print(f"当前鼠标位置:x={x}, y={y}")? 总结:放弃 displayMousePosition(),坚定使用 mouseInfo() —— 它更稳定、可视化更强、专为 UI 自动化调试而生。配合 pyautogui.locateOnScreen() 和 pyautogui.click(x, y),即可高效完成基于坐标的自动化任务。










