【问题标题】:Simulate mouse movement in Ubuntu在 Ubuntu 中模拟鼠标移动
【发布时间】:2011-02-28 12:01:06
【问题描述】:

问题

我希望使用外部脚本从命令行自动移动鼠标光标并模拟鼠标按钮单击。我不想:

  • 录制鼠标移动和播放(例如,xnee、xmacro)
  • 立即将鼠标从一个位置移动到另一个位置(例如 xdotool、Python 的 warp_pointer)

理想的解决方案

我想做的是:

  1. 编辑一个简单的脚本文件(例如,mouse-script.txt)。
  2. 添加坐标、移动速度、延迟和按钮点击列表。例如:
    (x, y, 比率) = (500, 500, 50)
    睡眠 = 5
    点击=左
    
  3. 运行脚本:xsim < mouse-script.txt

问题

如何自动移动鼠标,使其以特定速度从当前位置过渡到屏幕上的另一个位置?例如:

xdotool mousemove 500 500 --rate 50

--rate 50 不存在 xdotool

【问题讨论】:

    标签: command-line ubuntu mouse automated-tests


    【解决方案1】:

    在较新版本的 Ubuntu (14.04+) 上,您可以使用 Autopilot,这是一个用于 Ubuntu 的 UI 测试工具。它用于创建和运行用户界面测试,但也可用于基本的 GUI 自动化任务。

    安装:

    $ sudo apt-get install python3-autopilot
    

    自动化mouse movement的示例脚本(Python3):

    #!/usr/bin/env python3
    
    from autopilot.input import Mouse
    
    mouse = Mouse.create()
    mouse.move(100, 50)
    mouse.click()
    

    您可以像运行任何其他 Python3 脚本一样运行它。注意鼠标指针的移动!

    【讨论】:

    • 即使在安装了 python3-autopilot 之后,我也收到了ImportError: No module named autopilot.input。原来我必须使用 python3 运行。干杯
    • ubuntu python3 msg 是 Python 3.8.5 (default, Jul 28 2020, 12:59:40) 但我有同样的错误 ImportError: No module named autopilot.input 我该怎么办?
    【解决方案2】:
    1. 为 Python 下载 xaut
    2. 按照README 的说明进行操作
    3. 运行:
      sudo apt-get install swig x11proto-xext-dev libx11-dev libxtst-dev
      cd /usr/local/src
      tar zxf xaut-0.2.0.tar.gz
      。/配置
      
    4. 编辑src/Makefile
    5. 如下更改CFLAGS 行:
      CFLAGS = -Wall -fPIC -fno-stack-protector
    6. 运行:
      制作
      
    7. /usr/local/src/xaut-0.2.0/python/build/lib/* 复制到新目录。
    8. 切换到那个新目录。
    9. 将以下脚本复制并粘贴到mm.py:
      导入 xaut
      鼠标 = xaut.mouse()
      延迟 mouse.move_delay(100)
      mouse.move(500, 500)
      
    10. 运行脚本:
      python mm.py

    【讨论】:

    • 另外,当您执行上述步骤时,它将在 Ubuntu 11.10 上失败。首先,在我的makefile中,我必须添加libX11.so的绝对路径,它不在makefile建议的/usr/local/lib中,而是在usr/local/lib/i386-linux-gnu中。然后当你修复它可以再次编译。所以在 makefile 中将 ld -shared 更改为 gcc -shared 就可以了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多