Python kullanarak fare ve klavye otomasyonu

Python kullanarak fare ve klavye otomasyonu

Bu makalede fare ve klavye hareketlerinin nasıl otomatikleştirileceği gösterilmektedir. Pyautogui Python'daki modül. Bu modül python ile önceden yüklenmemiştir. Yani yüklemek için aşağıdaki komutu çalıştırın: 
 

 pip3 install pyautogui 


 

Pyautogui modülünü kullanarak fare hareketlerini kontrol etme


Python, ekranın koordinat sistemini kullanarak fareyi izler ve kontrol eder. Ekranınızın çözünürlüğünün 1920X1080 olduğunu varsayalım, bu durumda ekranınızın koordinat sistemi şöyle görünecektir: 
 

Python


 

    boyut(): Bu işlev Ekran çözünürlüğünü elde etmek için kullanılır.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Bu dosyayı .py uzantılı olarak kaydedin ve ardından dosyayı çalıştırın. 
Bu python kodu, ekran çözünürlüğünüzü x y biçiminde çıkarmak için size() işlevini kullanır: 
Çıkış: 
 

 (1920 1080) 


Not: Geeksforgeeks IDE'de bu kodları çalıştırmak için gerekli modüller bulunmadığından, bu makalede sağlanan kodlardan bazıları geeksforgeeks IDE'de çalışmayabilir. Ancak bu kodları python yükleyerek ve makalede verilen talimatları izleyerek bilgisayarınızda yerel olarak kolayca çalıştırabilirsiniz. 
 

    MoveTo(): pyautogui modülünde fareyi hareket ettirmek için bu işlevi kullanın. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Bu kod, x ve y koordinatlarını ve isteğe bağlı bir süre bağımsız değişkenini alan moveTo() işlevini kullanır. Bu işlev fare işaretçinizi mevcut konumundan xy koordinatına hareket ettirir ve bunu yapmak süre argümanında belirtilen süreyi alır. Bu süreçte fare işaretçinizin sihirli bir şekilde mevcut konumundan koordinatlara (100 100) 1 saniye içinde hareket ettiğini görmek için bu python betiğini kaydedin ve çalıştırın. 
 

    moveRel() işlevi: Fare işaretçisini önceki konumuna göre hareket ettirir. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Bu kod, fare işaretçisini orijinal konumuna göre (0 50) konumuna taşıyacaktır. Örneğin, kodu çalıştırmadan önce fare konumu (1000 1000) ise bu kod, işaretçiyi 1 saniye boyunca koordinatlara (1000 1050) hareket ettirecektir. 
 

    konum(): Fare işaretçisinin geçerli konumunu alma işlevi. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Çıktı: programı çalıştırırken farenizin bulunduğu yeri koordine eder. 
 

    tıklamak(): Fareyi tıklayıp sürüklemek için kullanılan işlev. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Bu kod, konumda (100 100) tipik bir fare tıklaması gerçekleştirir. 
Farenin sürükleme işlemiyle ilişkili iki fonksiyonumuz var dragTo ve dragRel . MoveTo ve moveRel işlevlerine benzer performans gösterirler ancak hareket ederken farenin sol düğmesini basılı tutarak bir sürükleme başlatırlar. 
Bu işlevsellik, bir iletişim kutusunu taşımak veya MS Paint'te kalem aracını kullanarak otomatik olarak bir şeyler çizmek gibi çeşitli yerlerde kullanılabilir. Paint'te bir kare çizmek için: 
 

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  )   


Kodu çalıştırmadan önce, kalem aracı seçiliyken arka planda MS Paint'i açın. Şimdi kodu hızlı bir şekilde çalıştırın, 10 saniyeden önce MS Paint'e geçin (çünkü programı çalıştırmadan önce uyku () işlevini kullanarak 10 saniyelik duraklama süresi verdik). 
10 saniye sonra MS Paint'te sol üst kenarı 1000 1000 ve kenar uzunluğu 100 piksel olan bir karenin çizildiğini göreceksiniz.

    taslak(): kaydırma işlevi hayır alır. argüman olarak piksel sayısını belirtir ve ekranı belirli bir piksel sayısına kadar kaydırır.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Bu kod aktif ekranı 200 piksele kadar kaydırır. 
 

    daktilo(): Typewrite() işlevini kullanarak dizenin yazılmasını otomatikleştirebilirsiniz. bu işlevin argümanı olarak yazmak istediğiniz dizeyi iletmeniz yeterlidir. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Ekranda 100 100 koordinatlarında bir metin alanı bulunduğunu varsayalım, bu kod, onu aktif hale getirmek için metin alanına tıklayacak ve merhaba Geeks! yazacaktır. içinde. 
 

    Anahtar adların aktarılması: Typewrite() işlevi aracılığıyla anahtar adlarını ayrı ayrı iletebilirsiniz. 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Bu kod, 'a' yazıp sol ok tuşuna basıp sol kontrol tuşuna basmanın otomatik eşdeğeridir. 
 

    Kısayol tuşu kombinasyonlarına basmak: Ctrl-c ctrl-a vb. tuşların birleşimine basmak için hotkey() işlevini kullanın.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Bu kod, sol ctrl ve 'a' tuşuna aynı anda basmanın otomatik eşdeğeridir. Böylece pencerelerde bu, ekranda bulunan tüm metnin seçilmesiyle sonuçlanacaktır.

Örnek:

WhatsApp'ta bir mesaj göndermek ve bunu herkesten otomatik olarak silmek için. Bunu çalıştırmak için Whatsapp'ın Chrome'da açılmış olması gerekir. Bu kodu çalıştırdıktan sonra Chrome'da WhatsApp sekmesini açın.

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   

 

Test Oluştur