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

Python如何无需鼠标左键点击通过内置变量获取鼠标X/Y坐标

Python 无点击获取鼠标X/Y坐标相关说明
  • Python 标准库不存在可直接读取实时鼠标X/Y坐标的内置变量,没有能直接拿到坐标值的全局内置变量名,所有获取坐标的操作都需要通过对应接口/方法调用实现,且完全可以做到不触发鼠标左键点击。
  • 常用无点击获取坐标实现方案:
    1. 跨平台通用方案(支持Windows/macOS/Linux)
      安装第三方库pyautogui后,直接调用方法即可读取全局屏幕鼠标坐标,全程不需要任何鼠标操作:
    import pyautogui
    mouse_x, mouse_y = pyautogui.position()
    print(f"X:{mouse_x}, Y:{mouse_y}")
    
    该方法返回的坐标以屏幕左上角为原点,X轴向右数值递增,Y轴向下数值递增。
    2. Windows平台原生无依赖方案
    直接用Python内置的ctypes标准库调用系统接口,不需要安装任何第三方库,也不需要点击鼠标:
    import ctypes
    from ctypes import wintypes
    
    class CursorPoint(ctypes.Structure):
        _fields_ = [("x", wintypes.LONG), ("y", wintypes.LONG)]
    
    point = CursorPoint()
    ctypes.windll.user32.GetCursorPos(ctypes.byref(point))
    mouse_x, mouse_y = point.x, point.y
    
    1. GUI框架内场景
      如果是在Tkinter、PyQt/PySide等GUI程序内获取坐标,框架自带对应方法可直接读取鼠标位置,不需要绑定左键点击事件。比如Tkinter中可直接通过winfo_pointerxy()方法获取鼠标全局坐标。

注意:不要把GUI框架中鼠标事件触发时才会生成的事件属性,误认为是Python内置的全局坐标变量——这类属性仅在事件回调逻辑内有效,无法在全局任意位置直接读取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 10:54:16