logo

Python otomatik tıklama aracı nasıl yapılır

Otomatik tıklama nedir?

Otomatik tıklama, bazı kod komut dosyalarının yazıldığı bir programdır ve kodu temel alarak, eğer bir kullanıcı bir tuşa basarsa, fare otomatik olarak tıklanacaktır. Python'da pip komutuyla kurulabilen pynput modülünü kullanarak otomatik tıklama projesi yapabiliriz.

Otomatik tıklama kodunu aşağıdaki adımlara bölebiliriz:

java yorumları

1. Gerekli modüllerin içe aktarılması

Time ve thread modülünü içe aktaracağız ve pynput'un fare alt modülünden Button, Controller modülünü içe aktaracağız. Aynı şekilde pynput'un klavye alt modülünden Listener ve Keycode modüllerini de import edeceğiz.

Örnek:

 import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode 

2. Değişkenlerin başlatılması

Bu bölümde programın yürütülmesi için çok yararlı olan dört değişkeni başlatacağız.

    düğmeYön: Bu değişken düğmenin hangi tarafına (sağ, sol veya orta) tıklamak istediğimize karar verecektir.gecikme süresi: Bu değişken art arda iki tıklama arasındaki süreyi tanımlar.startStopButton: Bu değişken, otomatik tıklama projesini başlatmak ve durdurmak için hangi tuş veya düğmenin kullanılacağını tanımlar.sonlandırmaDüğmesi: Bu değişken programı sonlandırmak için kullanılacak butonu tanımlar.

Örnek:

 buttonDirection= Button.right delayTime= 0.001 startStopButton = KeyCode(char='s') terminateButton= KeyCode(char='x') 

3. Sınıfın oluşturulması

Bu bölümde fare tıklamasının yürütülüp yürütülmediğini kontrol etmek için thread sınıfını genişleten sınıfı oluşturacağız.

Örnek:

 class ClickTheMouse(threading.Thread): def __init__(self, delayTime, buttonDirection): super(ClickTheMouse, self).__init__() self.delayTime = delayTime self.buttonDirection = buttonDirection self.running = False self.program_running = True 

4. Bu bölümde, harici thread'leri kullanarak fare tıklamalarını kontrol etmek için bazı yöntemler tanımlayacağız.

Örnek:

 def startMouseClick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False 

5. Bu bölümde, kodun tamamını iç içe geçmiş iki döngü kullanarak çalıştıracak yöntemi tanımladık. Değişkenler false olarak ayarlandığında bu döngüler sonlandırılacaktır. Aksi halde programa devam edecekler.

Örnek:

 def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1) 

6. Bu bölümde fare tıklaması için thread oluşturacağız ve daha sonra thread'i başlatacağız.

Örnek:

 mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() 

7. Klavye tıklaması fonksiyonunu tanımladığımız son bölümdür. Herhangi bir tuşa basıldığında bu fonksiyonda argüman olarak iletilir ve farklı durumları kontrol eder.

java dize sınıfı

StartStop tuşu ise program başlatılacak veya durdurulacaktır. Sonlandırma anahtarı ise program sonlandırılacaktır.

Örnek:

 def on_press(key): if key == startStopButton: if clickThread.running: clickThread.stopMouseclick() else: clickThread.startMouseclick() elif key == terminateButton: clickThread.exitScript() listener.stop() with Listener(on_press=on_press) as listener: listener.join() 

Tam Örnek:

 import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode delayTime = 0.001 buttonDirection = Button.right startStopButton = KeyCode(char='s') terminateButton = KeyCode(char='x') class ClickTheMouse(threading.Thread): def __init__(self, delayTime, buttonDirection): super(ClickTheMouse, self).__init__() self.delayTime = delayTime self.buttonDirection = buttonDirection self.running = False self.program_running = True def startMouseclick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1) mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() def on_press(key): if key == startStopButton: if clickThread.running: clickThread.stopMouseClick() else: clickThread.startMouseclick() elif key == terminateButton: clickThread.exitScript() listener.stop() with Listener(on_press=on_press) as listener: listener.join() 

Açıklama:

Yukarıdaki kodda start ve stop tuşlarını 's', sonlandırma anahtarını ise 'x' olarak başlattık. Python betiğini çalıştırdığımızda ve 's' girersek, otomatik olarak faremizi ekranda hareket ettirdiğimizde 0,001 saniye veya bir milisaniyelik bir gecikmeyle sağ tıklanacaktır.

Bölüm 2'de fare tıklamasının işlevselliğini değiştirebiliriz; burada farenin tıklama yönünü değiştirmek için Button.left veya Button.center özelliğini kullanabiliriz.

Fare tıklamasını kolayca görmek istiyorsak, gerçek tıklamayı görmek için gecikme süresini daha yükseğe değiştirebiliriz. Bu kodda fare imlecini ekranda hareket ettirmediğimizde tıklanmayacaktır. Yalnızca imleci ekranda hareket ettirdiğimizde çalışacaktır.