Tento článek ukazuje, jak automatizovat pohyby myši a klávesnice pomocí pyautogui modul v pythonu. Tento modul není předinstalovaný s pythonem. Chcete-li jej nainstalovat, spusťte následující příkaz:
jfx java tutoriál
pip3 install pyautogui
Ovládání pohybů myši pomocí modulu pyautogui
Python sleduje a ovládá myš pomocí souřadnicového systému obrazovky. Předpokládejme, že rozlišení vaší obrazovky je 1920X1080, pak souřadnicový systém obrazovky vypadá takto:
Python
import pyautogui print(pyautogui.size())
Uložte tento soubor s příponou .py a poté soubor spusťte.
Tento kód pythonu používá funkci size() k výstupu rozlišení obrazovky ve formátu x y:
výstup:
(1920 1080)
Poznámka: Některé kódy uvedené v tomto článku nemusí fungovat na geeksforgeeks IDE, protože geeksforgeeks IDE nemá potřebné moduly pro spouštění těchto kódů. Tyto kódy však lze snadno spustit lokálně na vašem PC instalací pythonu a podle pokynů uvedených v článku.
Python
import pyautogui pyautogui.moveTo(100 100 duration = 1)
Tento kód používá funkci moveTo(), která přebírá souřadnice x a y a volitelný argument trvání. Tato funkce přesune ukazatel myši z jeho aktuálního umístění na souřadnici x y a trvá to určitou dobu, jak je zadáno argumentem trvání. Uložte a spusťte tento python skript, abyste viděli, jak se kurzor myši magicky pohybuje z aktuální polohy na souřadnice (100 100), přičemž tento proces trvá 1 sekundu.
Python
import pyautogui pyautogui.moveRel(0 50 duration = 1)
Tento kód přesune ukazatel myši na (0 50) vzhledem k jeho původní pozici. Například pokud pozice myši před spuštěním kódu byla (1000 1000), pak tento kód přesune ukazatel na souřadnice (1000 1050) po dobu 1 sekundy.
Python
import pyautogui print(pyautogui.position())
Výstup: souřadnice, kde se myš nacházela v době provádění programu.
Python
import pyautogui pyautogui.click(100 100)
Tento kód provede typické kliknutí myší na místo (100 100).
S tažením myši máme spojeny dvě funkce dragTo a dragRel . Provádějí podobné funkce jako moveTo a moveRel s tím rozdílem, že při pohybu drží levé tlačítko myši, čímž spouští tažení.
Tuto funkci lze použít na různých místech, jako je přesouvání dialogového okna nebo automatické kreslení něčeho pomocí nástroje tužka v programu MS Paint. Chcete-li nakreslit čtverec barvou:
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)
Před spuštěním kódu otevřete MS Paint na pozadí s vybraným nástrojem tužka. Nyní spusťte kód a rychle přepněte na MS Paint před 10 sekundami (protože jsme před spuštěním programu dali 10 sekundovou pauzu pomocí funkce sleep()).
Po 10 sekundách uvidíte čtverec nakreslený v MS Paint s levým horním okrajem 1000 1000 a délkou hrany 100 pixelů.
co je zvláštní postava
Python
import pyautogui pyautogui.scroll(200)
Tento kód posouvá aktivní obrazovku až o 200 pixelů.
mysql seznam všech uživatelů
Python
import pyautogui pyautogui.click(100 100) pyautogui.typewrite('hello Geeks !')
Předpokládejme, že textové pole bylo přítomno na souřadnicích 100 100 na obrazovce, pak tento kód klikne na textové pole, aby bylo aktivní, a napíše hello Geeks! v něm.
Python
import pyautogui pyautogui.typewrite(['a' 'left' 'ctrlleft'])
Tento kód je automatickým ekvivalentem psaní „a“ stisknutím levé šipky a stisknutím levého ovládacího tlačítka.
Python
import pyautogui pyautogui.hotkey('ctrlleft' 'a')
Tento kód je automatickým ekvivalentem současného stisknutí levého ctrl a 'a'. V oknech to tedy povede k výběru veškerého textu na obrazovce.
Příklad:
Chcete-li odeslat zprávu v WhatsApp a automaticky ji smazat pro všechny. Chcete-li to spustit, musíte mít Whatsapp již otevřený v prohlížeči Chrome. Po spuštění tohoto kódu otevřete kartu WhatsApp v prohlížeči Chrome.
Python3import 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
Vytvořit kvíz