logo

So erstellen Sie einen Python-Auto-Clicker

Was ist Auto-Clicker?

Auto Clicker ist ein Programm, in dem ein Codeskript geschrieben wird. Wenn ein Benutzer definiert, dass eine Taste gedrückt wird, wird basierend auf dem Code automatisch mit der Maus geklickt. In Python können wir ein Auto-Clicker-Projekt mit einem Pynput-Modul erstellen, das per Pip-Befehl installiert werden kann.

Wir können den Auto-Clicker-Code in die folgenden Schritte unterteilen:

1. Importieren erforderlicher Module

Wir werden das Zeit- und Thread-Modul importieren, und wir werden das Button-, Controller-Modul aus dem Maus-Submodul von pynput importieren. Auf die gleiche Weise importieren wir die Module Listener und Keycode aus dem Tastatur-Submodul von pynput.

Beispiel:

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

2. Initialisierung der Variablen

In diesem Abschnitt werden wir vier Variablen initialisieren, die für die Ausführung des Programms sehr nützlich sind.

    buttonDirection: Diese Variable entscheidet, auf welche Schaltflächenseite wir klicken möchten (rechts, links oder in der Mitte).Verzögerungszeit: Diese Variable definiert die Zeit zwischen zwei aufeinanderfolgenden Klicks.startStopButton: Diese Variable definiert, welche Taste oder Schaltfläche zum Starten und Stoppen des Auto-Clicker-Projekts verwendet wird.BeendenButton: Diese Variable definiert die Schaltfläche, die zum Beenden des Programms verwendet wird.

Beispiel:

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

3. Erstellen der Klasse

In diesem Abschnitt erstellen wir die Klasse, die die Thread-Klasse erweitert, um zu überprüfen, ob der Mausklick ausgeführt wurde oder nicht.

Beispiel:

 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. In diesem Abschnitt definieren wir einige Methoden zur Steuerung der Mausklicks mithilfe von Threads extern.

Beispiel:

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

5. In diesem Abschnitt haben wir die Methode definiert, die den vollständigen Code mithilfe von zwei verschachtelten Schleifen ausführt. Diese Schleifen werden beendet, wenn Variablen auf „false“ gesetzt werden. Andernfalls wird das Programm weitergeführt.

Beispiel:

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

6. In diesem Abschnitt erstellen wir den Thread per Mausklick und starten dann den Thread.

Beispiel:

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

7. Dies ist der letzte Abschnitt, in dem wir die Funktion für den Tastaturklick definieren. Wenn eine Taste gedrückt wird, wird sie als Argument in dieser Funktion übergeben und mit verschiedenen Groß-/Kleinschreibungen überprüft.

Wenn es sich um die startStop-Taste handelt, wird das Programm gestartet oder gestoppt. Handelt es sich um den Abschlussschlüssel, wird das Programm beendet.

Beispiel:

 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() 

Vollständiges Beispiel:

 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() 

Erläuterung:

Im obigen Code haben wir die Start- und Stopptasten als „s“ und die Beendigungstaste als „x“ initialisiert. Wenn wir das Python-Skript ausführen und „s“ eingeben, wird jedes Mal, wenn wir unsere Maus auf dem Bildschirm bewegen, automatisch mit der rechten Maustaste geklickt, und zwar mit einer Verzögerung von 0,001 Sekunden oder einer Millisekunde.

Wir können die Funktionalität des Mausklicks in Abschnitt 2 ändern, wo wir entweder das Button.left- oder das Button.center-Attribut verwenden können, um die Klickrichtung der Maus zu ändern.

Wenn wir den Mausklick leicht sehen möchten, können wir die Verzögerungszeit auf einen höheren Wert ändern, um den tatsächlichen Klick zu sehen. Wenn wir in diesem Code den Mauszeiger nicht auf dem Bildschirm bewegen, klickt er nicht. Es funktioniert nur, wenn wir den Cursor auf dem Bildschirm bewegen.