אוטומציה של עכבר ומקלדת באמצעות Python
מאמר זה ממחיש כיצד לבצע אוטומציה של תנועות עכבר ומקלדת באמצעות pyautogui מודול בפיתון. מודול זה אינו נטען מראש עם python. אז כדי להתקין אותו הפעל את הפקודה הבאה:
pip3 install pyautogui
שליטה בתנועות העכבר באמצעות מודול pyautogui
Python עוקב אחר העכבר ושולט באמצעות מערכת הקואורדינטות של המסך. נניח שהרזולוציה של המסך שלך היא 1920X1080 אז מערכת הקואורדינטות של המסך שלך נראית כך:
Python
import pyautogui print ( pyautogui . size ())
שמור קובץ זה עם סיומת py ולאחר מכן הפעל את הקובץ.
קוד פיתון זה משתמש בפונקציית size() כדי להפיק את רזולוציית המסך שלך בפורמט x y:
תְפוּקָה:
(1920 1080)
הערה: ייתכן שחלק מהקודים שסופקו במאמר זה לא יפעלו ב-geeksforgeeks IDE מכיוון של-geeksforgeeks IDE אין את המודולים הנדרשים להפעלת קודים אלו. אבל ניתן להפעיל בקלות את הקודים הללו באופן מקומי במחשב האישי שלך על ידי התקנת python וביצוע ההוראות המפורטות במאמר.
Python
import pyautogui pyautogui . moveTo ( 100 100 duration = 1 )
קוד זה משתמש בפונקציה moveTo() שלוקחת קואורדינטות x ו-y וארגומנט משך אופציונלי. פונקציה זו מעבירה את מצביע העכבר מהמיקום הנוכחי שלו לקואורדינטת x y ולוקח זמן כפי שצוין על ידי ארגומנט משך לעשות זאת. שמור והפעל את סקריפט הפיתון הזה כדי לראות את מצביע העכבר שלך נע בקסם מהמיקום הנוכחי שלו לקואורדינטות (100 100) תוך שנייה אחת בתהליך זה.
Python
import pyautogui pyautogui . moveRel ( 0 50 duration = 1 )
קוד זה יעביר את מצביע העכבר על (0 50) ביחס למיקומו המקורי. לדוגמה, אם מיקום העכבר לפני הפעלת הקוד היה (1000 1000) אז קוד זה יעביר את המצביע לקואורדינטות (1000 1050) במשך שנייה אחת.
Python
import pyautogui print ( pyautogui . position ())
פלט: קואורדינטות היכן שהה העכבר שלך בזמן הפעלת התוכנית.
Python
import pyautogui pyautogui . click ( 100 100 )
קוד זה מבצע לחיצת עכבר טיפוסית במיקום (100 100).
יש לנו שתי פונקציות הקשורות לפעולת הגרירה של העכבר dragTo ו- dragRel . הם מבצעים בדומה לפונקציות moveTo ו-moveRel, אלא שהם מחזיקים את לחצן העכבר השמאלי תוך כדי תנועה ובכך מתחילים גרירה.
ניתן להשתמש בפונקציונליות זו במקומות שונים כמו הזזת תיבת דו-שיח או ציור של משהו באופן אוטומטי באמצעות כלי עיפרון ב-MS Paint. כדי לצייר ריבוע בצבע:
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 פיקסלים.
Python
import pyautogui pyautogui . scroll ( 200 )
קוד זה מגולל את המסך הפעיל עד 200 פיקסלים.
Python
import pyautogui pyautogui . click ( 100 100 ) pyautogui . typewrite ( 'hello Geeks !' )
נניח ששדה טקסט היה קיים בקואורדינטות 100 100 על המסך, אז הקוד הזה ילחץ על שדה הטקסט כדי להפוך אותו לפעיל ויקליד שלום חנונים! בּוֹ.
Python
import pyautogui pyautogui . typewrite ([ 'a' 'left' 'ctrlleft' ])
קוד זה הוא המקבילה האוטומטית של הקלדת 'a' לחיצה על מקש החץ שמאלה ולחיצה על מקש הבקרה השמאלי.
Python
import pyautogui pyautogui . hotkey ( 'ctrlleft' 'a' )
קוד זה הוא המקבילה האוטומטית של לחיצה על ctrl ו-'a' בו זמנית. לכן בחלונות זה יביא לבחירה של כל הטקסט הקיים על המסך.
דוּגמָה:
לשלוח הודעה בוואטסאפ ולמחוק אותה לכולם באופן אוטומטי. אתה צריך ש-Whatsapp כבר פתוח בכרום כדי להפעיל את זה. לאחר הפעלת קוד זה פתח את לשונית WhatsApp בכרום.
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
צור חידון