Automação de mouse e teclado usando Python

Automação de mouse e teclado usando Python

Este artigo ilustra como automatizar os movimentos do mouse e do teclado usando pyautogui módulo em python. Este módulo não vem pré-carregado com python. Então para instalá-lo execute o seguinte comando: 
 

 pip3 install pyautogui 


 

Controlando os movimentos do mouse usando o módulo pyautogui




Python rastreia e controla o mouse usando o sistema de coordenadas da tela. Suponha que a resolução da sua tela seja 1920X1080, então o sistema de coordenadas da sua tela será assim: 
 

gui em python


 

    tamanho(): Esta função é usada para obter a resolução da tela.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Salve este arquivo com extensão .py e execute o arquivo. 
Este código python usa a função size() para gerar a resolução da tela no formato x y: 
Saída: 
 

 (1920 1080) 


Nota: Alguns dos códigos fornecidos neste artigo podem não funcionar no IDE geeksforgeeks, pois o IDE geeksforgeeks não possui os módulos necessários para executar esses códigos. Mas esses códigos podem ser facilmente executados localmente em seu PC instalando o python e seguindo as instruções fornecidas no artigo. 
 

    moverPara(): use esta função para mover o mouse no módulo pyautogui. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Este código usa a função moveTo() que usa as coordenadas xey e um argumento de duração opcional. Esta função move o ponteiro do mouse de sua localização atual para a coordenada x y e leva o tempo especificado pelo argumento de duração para fazer isso. Salve e execute este script python para ver o ponteiro do mouse se movendo magicamente de sua localização atual para as coordenadas (100 100), levando 1 segundo neste processo. 
 

    Função moveRel(): move o ponteiro do mouse em relação à sua posição anterior. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Este código moverá o ponteiro do mouse em (0 50) em relação à sua posição original. Por exemplo, se a posição do mouse antes de executar o código era (1000 1000), então este código moverá o ponteiro para as coordenadas (1000 1050) com duração de 1 segundo. 
 

    posição(): função para obter a posição atual do ponteiro do mouse. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Saída: coordenadas onde seu mouse estava no momento da execução do programa. 
 

    clique(): Função usada para clicar e arrastar o mouse. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Este código executa um clique típico do mouse no local (100 100). 
Temos duas funções associadas à operação de arrastar do mouse arrastar para e arrastarRel . Eles executam de forma semelhante às funções moveTo e moveRel, exceto que seguram o botão esquerdo do mouse enquanto se movem, iniciando assim um arrasto. 
Esta funcionalidade pode ser usada em vários lugares, como mover uma caixa de diálogo ou desenhar algo automaticamente usando uma ferramenta de lápis no MS Paint. Para desenhar um quadrado com tinta: 
 

Python
   import   time   # a module which has functions related to time.    # It can be installed using cmd command:    # pip install time in the same way as pyautogui.   import   pyautogui   time  .  sleep  (  10  )   # makes program execution pause for 10 sec   pyautogui  .  moveTo  (  1000     1000     duration   =   1  )   # moves mouse to 1000 1000.   pyautogui  .  dragRel  (  100     0     duration   =   1  )   # drags mouse 100 0 relative to its previous position    # thus dragging it to 1100 1000   pyautogui  .  dragRel  (  0     100     duration   =   1  )   pyautogui  .  dragRel  (  -  100     0     duration   =   1  )   pyautogui  .  dragRel  (  0     -  100     duration   =   1  )   


Antes de executar o código, abra o MS Paint em segundo plano com a ferramenta lápis selecionada. Agora execute o código e mude rapidamente para MS Paint antes de 10 segundos (já que demos um tempo de pausa de 10 segundos usando a função sleep() antes de executar o programa). 
Após 10 segundos, você verá um quadrado sendo desenhado no MS Paint com sua borda superior esquerda em 1000 1000 e comprimento de borda em 100 pixels.

    rolar(): função de rolagem leva não. de pixels como argumento e rola a tela até um determinado número de pixels.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Este código rola a tela ativa em até 200 pixels. 
 

    Você pode automatizar a digitação da string usando a função typewrite(). basta passar a string que você deseja digitar como argumento desta função. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Suponha que um campo de texto esteja presente nas coordenadas 100 100 na tela, então esse código clicará no campo de texto para torná-lo ativo e digitará olá Geeks! nele. 
 

    Passando nomes de chaves: Você pode passar nomes de chaves separadamente através da função typewrite(). 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Este código é o equivalente automático a digitar 'a' pressionando a tecla de seta para a esquerda e pressionando a tecla de controle esquerda. 
 

    Pressionando combinações de teclas de atalho: Use a função hotkey() para pressionar a combinação de teclas como ctrl-c ctrl-a etc.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Este código é o equivalente automático a pressionar ctrl esquerdo e 'a' simultaneamente. Assim no Windows isso resultará na seleção de todo o texto presente na tela.

Exemplo:

Para enviar uma mensagem no WhatsApp e excluí-la automaticamente para todos. Você precisa ter o Whatsapp já aberto no Chrome para executar isso. Depois de executar este código, abra a aba WhatsApp no ​​Chrome.

Python3
   import   pyautogui   as   pg   import   time   def   delete_for_everyone  ():   pg  .  click  (  807     979  )   pg  .  typewrite  (  'hello'  )   pg  .  typewrite  ([  'enter'  ])   time  .  sleep  (  2  )   pg  .  click  (  1621     896  )   pg  .  click  (  1621     896  )   # time.sleep(1)   pg  .  click  (  1693     859  )   # time.sleep(1)   pg  .  click  (  1014     669  )   # time.sleep(1)   pg  .  click  (  1111     605  )   a  =  20   time  .  sleep  (  10  )   while  (  a  !=  0  ):   delete_for_everyone  ()   a  =  a  -  1   

 

Criar questionário

Principais Artigos

Categoria

Artigos Interessantes