logo

Автоматизація миші та клавіатури за допомогою Python

У цій статті показано, як автоматизувати рухи миші та клавіатури за допомогою pyautogui модуль на python. У цьому модулі не встановлено Python. Отже, щоб встановити його, виконайте таку команду: 
 

аміша патель
 pip3 install pyautogui


 

Керування рухами миші за допомогою модуля pyautogui




Python відстежує та контролює мишу за допомогою системи координат екрана. Припустімо, що роздільна здатність вашого екрана становить 1920x1080, тоді система координат вашого екрана виглядає так: 
 

графічний інтерфейс на 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)


Примітка. Деякі з кодів, наведених у цій статті, можуть не працювати в IDE geeksforgeeks, оскільки IDE geeksforgeeks не має необхідних модулів для запуску цих кодів. Але ці коди можна легко запустити локально на вашому ПК, встановивши python і дотримуючись інструкцій, наведених у статті. 
 

    moveTo():використовуйте цю функцію для переміщення миші в модулі 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 секунди. 
 

факториал в c
    позиція():функція для отримання поточного положення вказівника миші. 
     
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, з верхнім лівим краєм 1000 1000 і довжиною краю 100 пікселів.

    scroll():функція прокручування не займає. пікселів як аргумент і прокручує екран до заданої кількості пікселів.
     
Python
import pyautogui pyautogui.scroll(200) 


Цей код прокручує активний екран до 200 пікселів. 
 

    typewrite():Ви можете автоматизувати введення рядка за допомогою функції 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'. Таким чином, у вікнах це призведе до виділення всього тексту, наявного на екрані.

Команда cp в Linux

приклад:

Щоб надіслати повідомлення в WhatsApp і видалити його для всіх автоматично. Щоб запустити це, вам потрібно відкрити WhatsApp у хромі. Після запуску цього коду відкрийте вкладку 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 

 

Створіть вікторину