在Ubuntu中模拟鼠标移动

Dav*_*vis 11 mouse ubuntu command-line automated-tests

问题

我希望使用外部脚本自动移动鼠标光标并从命令行模拟鼠标按钮.我不期待:

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

理想解决方案

我想做的是以下内容:

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

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

xdotool mousemove 500 500 --rate 50
Run Code Online (Sandbox Code Playgroud)

--rate 50不存在xdotool.

Dav*_*vis 13

  1. 下载xautPython
  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
    ./configure
    
  4. 编辑 src/Makefile
  5. 更改CFLAGS行如下:
    CFLAGS = -Wall -fPIC -fno-stack-protector
  6. 跑:
    make
    
  7. 复制/usr/local/src/xaut-0.2.0/python/build/lib/*到新目录.
  8. 切换到该新目录.
  9. 将以下脚本复制并粘贴到mm.py:
    import xaut
    mouse = xaut.mouse()
    delay mouse.move_delay( 100 )
    mouse.move( 500, 500 )
    
  10. 运行脚本:
    python mm.py


Cor*_*erg 7

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

安装:

$ sudo apt-get install python3-autopilot
Run Code Online (Sandbox Code Playgroud)

用于自动化鼠标移动的示例脚本(Python3):

#!/usr/bin/env python3

from autopilot.input import Mouse

mouse = Mouse.create()
mouse.move(100, 50)
mouse.click()
Run Code Online (Sandbox Code Playgroud)

你可以像任何其他Python3脚本一样运行它.观察你的鼠标指针移动!