2010-06-06 36 views
11

Problemasimular el movimiento del ratón en Ubuntu

Busco para mover automáticamente el cursor del ratón y simular clics de los botones del ratón desde la línea de comandos usando un script externo. No busco a:

  • movimiento del ratón de grabación y reproducción (por ejemplo, xnee, xmacro)
  • se mueven de forma instantánea el ratón de un lugar a otro (por ejemplo, xdotool, warp_pointer de Python)

Ideal Solución

lo que me gustaría hacer es la siguiente:

  1. Edite un archivo de script simple (por ejemplo, mouse-script.txt).
  2. Agregue una lista de coordenadas, velocidades de movimiento, retrasos y clics de botón. Por ejemplo:
     
    (x, y, rate) = (500, 500, 50) 
    sleep = 5 
    click = left 
    
  3. Ejecute el script: xsim < mouse-script.txt.

Pregunta

¿Cómo automatizar el movimiento del ratón para que éste pase desde su ubicación actual a otro punto de la pantalla, a una velocidad específica? Por ejemplo:

xdotool mousemove 500 500 --rate 50 

El --rate 50 no existe con xdotool.

Respuesta

13
  1. Descargar xaut para Python
  2. Siga las README instrucciones
  3. 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 
    
  4. Edición src/Makefile
  5. Cambiar el CFLAGS línea de la siguiente manera:
     
    CFLAGS = -Wall -fPIC -fno-stack-protector
  6. Run:
     
    make 
    
  7. Copia /usr/local/src/xaut-0.2.0/python/build/lib/* a un nuevo directorio.
  8. Cambie a ese nuevo directorio.
  9. Copiar y pegar el siguiente script en mm.py:
     
    import xaut 
    mouse = xaut.mouse() 
    delay mouse.move_delay(100) 
    mouse.move(500, 500) 
    
  10. ejecuta el script:
     
    python mm.py
+0

Además, cuando realice los pasos indicados, fallará en Ubuntu 11.10. Primero que nada en mi caso en el archivo MAKE tuve que agregar la ruta absoluta de libX11.so que no está en/usr/local/lib como lo sugiere el archivo MAKE pero en usr/local/lib/i386-linux-gnu. Luego, cuando lo arregles, puede compilar de nuevo. Así que cambie ld -shared a gcc -shared en el archivo MAKE y eso es todo –

+0

¿Alguna idea de cómo llevar a cabo tales tareas * sin * bibliotecas/herramientas externas? – Jewenile

6

en las nuevas versiones de Ubuntu (14.04+), puede utilizar Autopilot, una herramienta de prueba de interfaz de usuario para Ubuntu. Está hecho para crear y ejecutar pruebas de interfaz de usuario, pero también se puede usar para tareas básicas de automatización de GUI.

de instalar:

$ sudo apt-get install python3-autopilot 

un script de ejemplo (python3) para automatizar mouse movement:

#!/usr/bin/env python3 

from autopilot.input import Mouse 

mouse = Mouse.create() 
mouse.move(100, 50) 
mouse.click() 

debe ejecutar este al igual que cualquier otro script python3. ¡Mira cómo se mueve tu puntero del mouse!

Cuestiones relacionadas