אוטומציה של עכבר ומקלדת באמצעות Python

אוטומציה של עכבר ומקלדת באמצעות Python

מאמר זה ממחיש כיצד לבצע אוטומציה של תנועות עכבר ומקלדת באמצעות pyautogui מודול בפיתון. מודול זה אינו נטען מראש עם python. אז כדי להתקין אותו הפעל את הפקודה הבאה: 
 

 pip3 install pyautogui 


 

שליטה בתנועות העכבר באמצעות מודול pyautogui


Python עוקב אחר העכבר ושולט באמצעות מערכת הקואורדינטות של המסך. נניח שהרזולוציה של המסך שלך היא 1920X1080 אז מערכת הקואורדינטות של המסך שלך נראית כך: 
 

gui בפיתון


 

    גוֹדֶל(): פונקציה זו משמשת לקבלת רזולוציית מסך.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


שמור קובץ זה עם סיומת py ולאחר מכן הפעל את הקובץ. 
קוד פיתון זה משתמש בפונקציית size() כדי להפיק את רזולוציית המסך שלך בפורמט x y: 
תְפוּקָה: 
 

 (1920 1080) 


הערה: ייתכן שחלק מהקודים שסופקו במאמר זה לא יפעלו ב-geeksforgeeks IDE מכיוון של-geeksforgeeks IDE אין את המודולים הנדרשים להפעלת קודים אלו. אבל ניתן להפעיל בקלות את הקודים הללו באופן מקומי במחשב האישי שלך על ידי התקנת python וביצוע ההוראות המפורטות במאמר. 
 

    moveTo(): השתמש בפונקציה זו כדי להזיז את העכבר במודול pyautogui. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


קוד זה משתמש בפונקציה moveTo() שלוקחת קואורדינטות x ו-y וארגומנט משך אופציונלי. פונקציה זו מעבירה את מצביע העכבר מהמיקום הנוכחי שלו לקואורדינטת x y ולוקח זמן כפי שצוין על ידי ארגומנט משך לעשות זאת. שמור והפעל את סקריפט הפיתון הזה כדי לראות את מצביע העכבר שלך נע בקסם מהמיקום הנוכחי שלו לקואורדינטות (100 100) תוך שנייה אחת בתהליך זה. 
 

    הפונקציה moveRel(): מזיז את מצביע העכבר ביחס למיקומו הקודם. 
     
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. כדי לצייר ריבוע בצבע: 
 

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 פיקסלים.

    גְלִילָה(): פונקציית גלילה לוקחת לא. של פיקסלים כארגומנט וגולל את המסך עד למספר נתון של פיקסלים.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


קוד זה מגולל את המסך הפעיל עד 200 פיקסלים. 
 

    כתיבה(): אתה יכול להפוך את ההקלדה של המחרוזת לאוטומטית באמצעות הפונקציה typewrite() . פשוט העבר את המחרוזת שברצונך להקליד כארגומנט של פונקציה זו. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


נניח ששדה טקסט היה קיים בקואורדינטות 100 100 על המסך, אז הקוד הזה ילחץ על שדה הטקסט כדי להפוך אותו לפעיל ויקליד שלום חנונים! בּוֹ. 
 

    העברת שמות מפתחות: אתה יכול להעביר שמות מפתח בנפרד באמצעות הפונקציה typewrite() . 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


קוד זה הוא המקבילה האוטומטית של הקלדת 'a' לחיצה על מקש החץ שמאלה ולחיצה על מקש הבקרה השמאלי. 
 

    לחיצה על שילובי מקשי קיצור: השתמש בפונקציית מקש חם() כדי ללחוץ על שילוב המקשים כמו ctrl-c ctrl-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   

 

צור חידון