Моделирование движения мыши в Ubuntu
Проблема
Представляем вам автоматически перемещать курсор мыши и имитировать щелчки мыши из командной строки с помощью внешнего script. Не смотри:
- Запись движения и воспроизведения мыши (например, xnee, xmacro)
- Немедленно переместите мышь из одного места в другое (например, xdotool, Python warp_pointer)
Идеальное решение
Мне бы хотелось сделать следующее:
- Отредактируйте простой файл script (например,
mouse-script.txt
).
- Добавить список координат, скорости движения, задержки и нажатия кнопок. Например:
(x, y, rate) = (500, 500, 50)
sleep = 5
click = left
- Запустите script:
xsim < mouse-script.txt
.
Вопрос
Как вы автоматизируете движение мыши так, чтобы оно переходило из своего текущего местоположения в другое место на экране с определенной скоростью? Например:
xdotool mousemove 500 500 --rate 50
--rate 50
не существует с xdotool
.
Ответы
Ответ 1
- Загрузите
xaut
для Python
- Следуйте инструкциям
README
- Run:
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
- Изменить
src/Makefile
- Измените строку
CFLAGS
следующим образом: CFLAGS = -Wall -fPIC -fno-stack-protector
- Run:
make
- Скопируйте
/usr/local/src/xaut-0.2.0/python/build/lib/*
в новый каталог.
- Перейдите в этот новый каталог.
- Скопируйте и вставьте следующий script в
mm.py
: import xaut
mouse = xaut.mouse()
delay mouse.move_delay( 100 )
mouse.move( 500, 500 )
- Запустите script:
python mm.py
Ответ 2
в новых версиях Ubuntu (14.04+) вы можете использовать Autopilot, инструмент для тестирования UI для Ubuntu. Он создан для создания и запуска тестов пользовательского интерфейса, но также может использоваться для основных задач автоматизации графического интерфейса.
для установки:
$ sudo apt-get install python3-autopilot
пример script (Python3) для автоматизации движения мыши:
#!/usr/bin/env python3
from autopilot.input import Mouse
mouse = Mouse.create()
mouse.move(100, 50)
mouse.click()
Вы запускали бы это, как и любой другой Python3 script. Следите за движением указателя мыши!