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

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

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

 pip3 install pyautogui 


 

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


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

графічний інтерфейс на python


 

    розмір(): Ця функція використовується для отримання роздільної здатності екрана.
     
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 секунди. 
 

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

приклад:

Щоб надіслати повідомлення в 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   

 

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