xdotool, clique e segure e mova o mouse

3

Eu quero automatizar uma tarefa, preciso rolar uma interface de mapa do Google, o que eu normalmente faço normalmente:

  1. Clique em um local
  2. Segure o clique
  3. Mova o mouse relativamente a 100 pixels restantes
  4. Pare de segurar
  5. Espere um pouco, volte para 1

No entanto, eu tentei $ xdotool click 1 mousemove_relative 0 100 , mas isso não ajudou, parece que não aguenta. O que posso fazer para conseguir isso?

    
por Mustafa 26.09.2014 / 14:07

2 respostas

1

Você pode usar xnee para gravar sua ação do mouse e reproduzi-la mais tarde, quando necessário.

Há um gui para ele chamado gnee . Eu não tive resultados muito bons com a última vez que tentei, mas isso foi há muito tempo, as coisas podem ter mudado desde então.

Veja o que eu usei para a gravação:

$ sleep 2 ; xmessage ready ; sleep 1 ; cnee --record --mouse --keyboard -o cnee.data

Isso permite que você se mova e prepare as coisas antes de começar. Clique em ok quando estiver pronto, espere 1s e faça sua ação. Ctrl-c quando estiver pronto.

Depois, você pode reproduzi-lo com:

$cnee --replay -f cnee.data -v -e /dev/null -ns

Você pode até reproduzir mais rápido que o original (!)

$cnee --replay --speed-percent 40  -f cnee.data -v -e /dev/null -ns

Você provavelmente terá que editar o final de cnee.data para se livrar do que fez entre sua ação e o Ctrl-c .

    
por 11.10.2014 / 10:13
3

Versão xdotool pura

Digamos que seu lugar seja 500 500

xdotool mousemove 500 500
xdotool keydown Pointer_Button1
xdotool mousemove_relative 0 100
xdotool keyup Pointer_Button1
sleep 1

Você também pode condensar apenas uma linha, se quiser:

xdotool mousemove 500 500 keydown Pointer_Button1 mousemove_relative 0 100 keyup Pointer_Button1 sleep 1
    
por 19.05.2015 / 19:45