O xdotool é uma ferramenta de instruções que permite aos programadores emularem o pressionamento de teclas do teclado e do mouse, além de manipular janelas. Esse post tem a intenção de dar uma introdução à utilização dessa ferramenta em um ambiente Linux. Para baixar a ferramenta basta executar o seguinte comando:
Search:
O comando search procura por uma janela que foi informada nos argumentos e se ele for o único ou último comando da cadeia ele irá retornar o ID da janela. Esse comando pode buscar a janela através de 3 formas: pelo nome se for informada opção --name; pela classe da janela se for informada a opção --class; e pelo nome da classe se for informada a opção --classname. Para procurar uma janela através do seu nome, execute:
Exec:
O comando exec executa um programa. O --sync é sua única opção.
Sleep:
O comando sleep faz o código esperar por um período específico que foi informado como argumento. Abaixo um exemplo de uma pausa de 1 segundo.
O comando type serve para simular uma digitação de texto, ele recebe como argumento o texto que será digitado. Uma das opções desse comando é o --delay na qual se deve informar o tempo em milissegundos que irá demorar entre a digitação de uma tecla e outra, determinando assim a velocidade que o texto será digitado. A seguir um exemplo que digita uma palavra com tempo de 215ms entre caracteres.
O comando key serve para simular o pressionamento de alguma tecla ou conjunto de teclas . Ele recebe como argumento a tecla que será pressionada. Por exemplo o atalho Ctrl+c pode ser simulado pelo comando a seguir.
Referências:
http://www.ibm.com/developerworks/br/linux/library/x-xdotool/
sudo apt-get install xdotool
A sintaxe dos comandos xdotool é simples e direta com a xdotool seguida de opções e argumentos.Search:
O comando search procura por uma janela que foi informada nos argumentos e se ele for o único ou último comando da cadeia ele irá retornar o ID da janela. Esse comando pode buscar a janela através de 3 formas: pelo nome se for informada opção --name; pela classe da janela se for informada a opção --class; e pelo nome da classe se for informada a opção --classname. Para procurar uma janela através do seu nome, execute:
xdotool search --name "nome_janela"
Uma outra opção deste comando é a --sync, ela bloqueia o xdotool até que tenha ocorrido algum resultado. O comando a seguir procura por uma janela através do seu nome e espera até que a janela tenha sido encontrada. xdotool search --sync --name "nome_janela"
Este comando pode ser usado para que o xdotool aguarde o tempo necessário até que a janela de um programa seja carregada.Exec:
O comando exec executa um programa. O --sync é sua única opção.
xdotool exec --sync gcalctool
obs.: Esta opção não pode ser utilizada para abrir arquivos ou páginas web, para isso deve ser utilizada a ferramenta gnome-open.Sleep:
O comando sleep faz o código esperar por um período específico que foi informado como argumento. Abaixo um exemplo de uma pausa de 1 segundo.
xdotool sleep 1
Type:O comando type serve para simular uma digitação de texto, ele recebe como argumento o texto que será digitado. Uma das opções desse comando é o --delay na qual se deve informar o tempo em milissegundos que irá demorar entre a digitação de uma tecla e outra, determinando assim a velocidade que o texto será digitado. A seguir um exemplo que digita uma palavra com tempo de 215ms entre caracteres.
xdotool type --delay 215 "texto"
Key:O comando key serve para simular o pressionamento de alguma tecla ou conjunto de teclas . Ele recebe como argumento a tecla que será pressionada. Por exemplo o atalho Ctrl+c pode ser simulado pelo comando a seguir.
xdotool key "ctrl+c"
Para entendermos na prática o funcionamento dos comandos do xdotool que foram explicados vamos supor que precisamos de um script que abra o libreoffice, procure pela janela, digite um texto, espere 1 segundo e salve esse arquivo em qualquer lugar com qualquer nome. #abrir o libreoffice
xdotool exec loffice --writer
#procurar pela janela
xdotool --sync --name "Sem título 1"
#sem título 1 é o nome da janela padrão que o libreoffice abre
#digita o texto
xdotool type --delay 215 "texto"
#espera 1 segundo
xdotool sleep 1
#salva o arquivo
xdotool key "ctrl+s"
#espera 1 segundo para garantir que a janela de salvamento irá abrir antes do próximo comando
xdotool sleep 1
#pressiona enter para confirmar e salvar o arquivo
xdotool key "KP_Enter"
Referências:
http://www.ibm.com/developerworks/br/linux/library/x-xdotool/
Nenhum comentário:
Postar um comentário