在Ubuntu中模拟鼠标移动

时间:2010-06-06 23:03:55

标签: command-line ubuntu mouse 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
  4. 问题

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

    xdotool mousemove 500 500 --rate 50
    

    --rate 50xdotool不存在。

2 个答案:

答案 0 :(得分:14)

  1. 下载xaut for Python
  2. 按照README说明
  3. 进行操作
  4. 运行:
    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
    
  5. 修改src/Makefile
  6. 更改CFLAGS行,如下所示:
    CFLAGS = -Wall -fPIC -fno-stack-protector
  7. 运行:
    make
    
  8. /usr/local/src/xaut-0.2.0/python/build/lib/*复制到新目录。
  9. 转到新目录。
  10. 将以下脚本复制并粘贴到mm.py
    import xaut
    mouse = xaut.mouse()
    delay mouse.move_delay( 100 )
    mouse.move( 500, 500 )
    
  11. 运行脚本:
    python mm.py

答案 1 :(得分:7)

在较新版本的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脚本一样运行它。观察你的鼠标指针移动!