logo

Автоматизация на мишката и клавиатурата с помощта на Python

Тази статия илюстрира как да автоматизирате движенията на мишката и клавиатурата pyautogui модул в python. Този модул не е предварително зареден с Python. Така че, за да го инсталирате, изпълнете следната команда: 
 

какво означава xd
 pip3 install pyautogui


 

Контролиране на движенията на мишката с помощта на модул pyautogui




Python проследява и контролира мишката, използвайки координатната система на екрана. Да предположим, че разделителната способност на вашия екран е 1920X1080, тогава координатната система на вашия екран изглежда така: 
 

gui в python' src='//techcodeview.com/img/python/69/mouse-and-keyboard-automation-using-python.webp' title=


 

    размер():Тази функция се използва за получаване на разделителна способност на екрана.
     
Python
import pyautogui print(pyautogui.size()) 


Запазете този файл с разширение .py и след това стартирайте файла. 
Този код на Python използва функция size(), за да изведе резолюцията на екрана ви във формат x y: 
Изход: 
 

 (1920 1080)


Забележка: Някои от кодовете, предоставени в тази статия, може да не работят на geeksforgeeks IDE, тъй като geeksforgeeks IDE няма необходимите модули за изпълнение на тези кодове. Но тези кодове могат лесно да се изпълняват локално на вашия компютър, като инсталирате python и следвате инструкциите, дадени в статията. 
 

    преместване към ():използвайте тази функция, за да преместите мишката в модула pyautogui. 
     
Python
import pyautogui pyautogui.moveTo(100 100 duration = 1) 


Този код използва функцията moveTo(), която взема координати x и y и незадължителен аргумент за продължителност. Тази функция премества показалеца на мишката ви от текущото му местоположение до координатата x y и отнема време, както е посочено от аргумента за продължителност, за да го направи. Запазете и стартирайте този скрипт на Python, за да видите показалеца на мишката ви да се движи магически от текущото си местоположение до координати (100 100), което отнема 1 секунда в този процес. 
 

    Функция moveRel():премества показалеца на мишката спрямо предишната му позиция. 
     
Python
import pyautogui pyautogui.moveRel(0 50 duration = 1) 


Този код ще премести показалеца на мишката в (0 50) спрямо първоначалната му позиция. Например, ако позицията на мишката преди стартиране на кода е била (1000 1000), тогава този код ще премести показалеца до координати (1000 1050) за времетраене от 1 секунда. 
 

maven инсталирайте
    позиция():функция за получаване на текущата позиция на показалеца на мишката. 
     
Python
import pyautogui print(pyautogui.position()) 


Изход: координати къде е била мишката ви по време на изпълнение на програмата. 
 

    клик():Функция, използвана за щракване и плъзгане на мишката. 
     
Python
import pyautogui pyautogui.click(100 100) 


Този код изпълнява типично щракване с мишката върху местоположението (100 100). 
Имаме две функции, свързани с операцията за плъзгане на мишката dragTo и dragRel . Те изпълняват подобно на функциите moveTo и moveRel, с изключение на това, че задържат левия бутон на мишката, докато се движат, като по този начин инициират плъзгане. 
Тази функционалност може да се използва на различни места като преместване на диалогов прозорец или автоматично рисуване на нещо с помощта на инструмент за молив в MS 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) 


Преди да изпълните кода, отворете MS paint във фонов режим с избран инструмент за молив. Сега стартирайте кода, бързо превключете към MS paint преди 10 секунди (тъй като сме дали 10 секунди време за пауза, използвайки функцията sleep(), преди да стартираме програмата). 
След 10 секунди ще видите квадрат, начертан с MS paint с горен ляв ръб на 1000 1000 и дължина на ръба 100 пиксела.

    превъртане ():функцията за превъртане отнема не. от пиксели като аргумент и превърта екрана до даден брой пиксели.
     
Python
import pyautogui pyautogui.scroll(200) 


Този код превърта активния екран до 200 пиксела. 
 

    пишете():Можете да автоматизирате въвеждането на низа, като използвате функцията typewrite(). просто предайте низа, който искате да въведете като аргумент на тази функция. 
     
Python
import pyautogui pyautogui.click(100 100) pyautogui.typewrite('hello Geeks !') 


Да предположим, че текстово поле е присъствало при координати 100 100 на екрана, тогава този код ще щракне върху текстовото поле, за да го направи активно и ще напише hello Geeks! в него. 
 

    Предаване на имена на ключове:Можете да предавате имена на ключове отделно чрез функцията typewrite(). 
     
Python
import pyautogui pyautogui.typewrite(['a' 'left' 'ctrlleft']) 


Този код е автоматичният еквивалент на въвеждане на 'a', натискане на клавиша със стрелка наляво и натискане на левия клавиш за управление. 
 

    Натискане на комбинации от клавишни комбинации:Използвайте функцията hotkey(), за да натиснете комбинацията от клавиши като ctrl-c ctrl-a и т.н.
     
Python
import pyautogui pyautogui.hotkey('ctrlleft' 'a') 


Този код е автоматичният еквивалент на едновременно натискане на ляв ctrl и 'a'. Така в прозорците това ще доведе до избор на целия текст, присъстващ на екрана.

in.next java

Пример:

За да изпратите съобщение в WhatsApp и да го изтриете автоматично за всички. Трябва да имате Whatsapp вече отворен в chrome, за да стартирате това. След като стартирате този код, отворете раздела WhatsApp в 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 

 

Създаване на тест