logo

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: 
 

co to znaczy xdxd
 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' src='//techcodeview.com/img/python/69/mouse-and-keyboard-automation-using-python.webp' title=


 

    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. 
 

licznik Javy
    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.

ostatnie słowo kluczowe w Javie

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