Automatyzacja myszy i klawiatury przy użyciu języka Python

Automatyzacja myszy i klawiatury przy użyciu języka Python

W tym artykule pokazano, jak zautomatyzować ruchy myszy i klawiatury za pomocą pyautogui moduł w Pythonie. Ten moduł nie jest wstępnie załadowany w Pythonie. Aby go zainstalować, uruchom następujące polecenie: 
 

 pip3 install pyautogui 


 

Sterowanie ruchami myszy za pomocą modułu pyautogui


Python śledzi i steruje myszą za pomocą układu współrzędnych ekranu. Załóżmy, że rozdzielczość Twojego ekranu wynosi 1920X1080, a układ współrzędnych ekranu wygląda następująco: 
 

GUI w Pythonie


 

    rozmiar(): Ta funkcja służy do uzyskania rozdzielczości ekranu.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Zapisz ten plik z rozszerzeniem .py, a następnie uruchom plik. 
Ten kod Pythona używa funkcji size() do wyświetlania rozdzielczości ekranu w formacie xy: 
Wyjście: 
 

 (1920 1080) 


Uwaga: niektóre kody podane w tym artykule mogą nie działać w środowisku IDE geeksforgeeks, ponieważ środowisko IDE geeksforgeeks nie ma modułów wymaganych do uruchomienia tych kodów. Ale te kody można łatwo uruchomić lokalnie na komputerze, instalując Pythona i postępując zgodnie z instrukcjami podanymi w artykule. 
 

    przejdź do(): użyj tej funkcji, aby poruszać myszą w module pyautogui. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


W tym kodzie zastosowano funkcję moveTo(), która pobiera współrzędne x i y oraz opcjonalny argument czasu trwania. Ta funkcja przesuwa wskaźnik myszy z jego bieżącej lokalizacji do współrzędnej xy i wymaga do tego czasu określonego argumentem czasu trwania. Zapisz i uruchom ten skrypt Pythona, aby zobaczyć, jak wskaźnik myszy magicznie przesuwa się z bieżącej lokalizacji do współrzędnych (100 100), co zajmuje 1 sekundę. 
 

    funkcja moveRel(): przesuwa wskaźnik myszy względem jego poprzedniej pozycji. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Ten kod przesunie wskaźnik myszy o (0 50) w stosunku do jego pierwotnej pozycji. Na przykład, jeśli pozycja myszy przed uruchomieniem kodu wynosiła (1000 1000), wówczas kod ten przesunie wskaźnik do współrzędnych (1000 1050) w czasie 1 sekundy. 
 

    pozycja(): funkcja, aby uzyskać aktualną pozycję wskaźnika myszy. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Dane wyjściowe: współrzędne miejsca, w którym znajdowała się mysz w momencie wykonywania programu. 
 

    trzask(): Funkcja służąca do klikania i przeciągania myszą. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Ten kod wykonuje typowe kliknięcie myszą w lokalizacji (100 100). 
Mamy dwie funkcje związane z operacją przeciągania myszą przeciągnijTo i przeciągnijRel . Działają podobnie do funkcji moveTo i moveRel, z tą różnicą, że podczas przesuwania przytrzymują lewy przycisk myszy, inicjując w ten sposób przeciąganie. 
Funkcjonalności tej można używać w różnych miejscach, takich jak przesuwanie okna dialogowego lub rysowanie czegoś automatycznie za pomocą narzędzia ołówek w programie MS Paint. Aby narysować kwadrat w programie Paint: 
 

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  )   


Przed uruchomieniem kodu otwórz w tle MS Paint za pomocą wybranego narzędzia Ołówek. Teraz uruchom kod, szybko przełącz się na MS Paint przed upływem 10 sekund (ponieważ przed uruchomieniem programu daliśmy 10 sekund czasu pauzy za pomocą funkcji Sleep(). 
Po 10 sekundach zobaczysz kwadrat narysowany w MS Paint z lewą górną krawędzią o wielkości 1000 1000 i długością krawędzi 100 pikseli.

    zwój(): funkcja przewijania wymaga nie. pikseli jako argument i przewija ekran do określonej liczby pikseli.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Ten kod przewija aktywny ekran do 200 pikseli. 
 

    pisać na maszynie(): Możesz zautomatyzować wpisywanie ciągu za pomocą funkcji typewrite(). po prostu przekaż ciąg, który chcesz wpisać jako argument tej funkcji. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Załóżmy, że na ekranie znajdowało się pole tekstowe o współrzędnych 100 100, a następnie ten kod kliknie pole tekstowe, aby je aktywować i wpisz hello Geeks! w tym. 
 

    Przekazywanie nazw kluczy: Nazwy kluczy można przekazywać oddzielnie za pomocą funkcji typewrite(). 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Ten kod jest automatycznym odpowiednikiem wpisania „a” i naciśnięcia lewego klawisza strzałki i lewego klawisza Control. 
 

    Naciśnięcie kombinacji klawiszy skrótu: Użyj funkcji hotkey(), aby nacisnąć kombinację klawiszy, takich jak ctrl-c, ctrl-a itp.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Ten kod jest automatycznym odpowiednikiem jednoczesnego naciśnięcia lewego Ctrl i „a”. Zatem w systemie Windows spowoduje to zaznaczenie całego tekstu znajdującego się na ekranie.

Przykład:

Aby wysłać wiadomość w WhatsApp i automatycznie ją usunąć dla wszystkich. Aby to uruchomić, musisz mieć już otwartą aplikację Whatsapp w przeglądarce Chrome. Po uruchomieniu tego kodu otwórz kartę WhatsApp w przeglądarce 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   

 

Utwórz quiz