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

Ubuntu18.04下Python mouse模块click无效 模拟鼠标点击方案咨询

mouse模块click()方法失效原因及修复方案

mouse库在Linux平台通过uinput内核接口实现输入模拟,Ubuntu 18.04环境下调用无反应基本都是权限问题导致的静默失效,按以下步骤配置即可正常使用:

  • 给当前用户分配输入设备访问权限,终端执行:sudo usermod -aG input $USER,执行完成后注销账户重新登录,或直接重启系统让权限生效
  • 加载uinput内核模块,终端执行:sudo modprobe uinput;如果需要开机自动加载该模块,将uinput写入配置文件/etc/modules-load.d/uinput.conf即可
  • 运行Python脚本时需要加root权限,即使用sudo python3 你的脚本文件名.py执行
  • 测试参考代码:
import mouse
import time

# 移动到屏幕绝对坐标(100, 100)位置
mouse.move(100, 100, absolute=True, duration=0.2)
time.sleep(0.1)
# 触发左键点击
mouse.click('left')

如果完成以上配置后点击功能依然异常,可直接使用以下适配Ubuntu 18.04 + Python 3.6环境的稳定替代方案。

模拟鼠标点击的替代方案
  • 方案1:调用系统工具xdotool
    xdotool是X11桌面环境下原生的输入模拟工具,Ubuntu 18.04默认搭载X11显示服务,兼容性最好,无复杂权限配置问题。
    先执行安装命令:sudo apt install -y xdotool
    Python侧通过标准库subprocess调用即可,参考代码:
    import subprocess
    import time
    
    def click(x: int, y: int, button: str = 'left'):
        btn_map = {"left": "1", "middle": "2", "right": "3"}
        subprocess.run(["xdotool", "mousemove", str(x), str(y)], check=True)
        time.sleep(0.05)
        subprocess.run(["xdotool", "click", btn_map[button]], check=True)
    
    # 测试:点击坐标(200,200)位置左键
    click(200, 200)
    
  • 方案2:使用PyAutoGUI库
    PyAutoGUI是跨平台的桌面自动化库,完美适配Python 3.6版本,API封装简单,除鼠标控制外还支持键盘模拟、截图、图像识别定位等功能。
    先安装依赖和库:
    sudo apt install -y python3-xlib python3-tk python3-dev
    pip3 install pyautogui
    
    参考代码:
    import pyautogui
    # 移动到(300,300)位置单击左键
    pyautogui.click(x=300, y=300, button='left')
    # 支持双击、右键、点击间隔等参数配置
    # pyautogui.click(x=300, y=300, clicks=2, interval=0.5, button='right')
    
  • 方案3:直接调用python3-xlib接口
    适合不想额外安装pip第三方库的精简环境,直接通过系统源提供的Xlib Python绑定实现底层输入模拟,执行安装命令:sudo apt install -y python3-xlib,即可编写代码实现点击逻辑,无额外依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:18:14