In diesem Artikel erfahren Sie, wie Sie mit Python einen Auto-Clicker erstellen. Der Code wird von der Tastatur eingegeben, wenn der Benutzer auf die Starttaste klickt, und beendet den automatischen Klick, wenn der Benutzer auf die Exit-Taste klickt. Der automatische Klicker beginnt zu klicken, wo immer der Zeiger auf dem Bildschirm platziert ist. Wir werden hier das Pynput- Modul verwenden. 

Was ist Auto Clicker?

Auto-Clicker ist ein Skript, mit dem Sie Maus und Tastatur beliebig oft automatisch steuern können. Die Steuerung erfolgt über benutzerdefinierte Schlüssel. Es funktioniert auf verschiedenen Plattformen wie Windows, Mac und Linux. Der automatische Klick ist im pywin32-Modul vorhanden.

Ansatz:

In diesem Projekt verwenden wir einen plattformübergreifenden Modul- Pynput , um die Maus zu steuern und gleichzeitig die Tastatur zu überwachen, um einen einfachen Auto-Clicker zu erstellen. Um nach Mausereignissen zu suchen, installieren wir das Pynput-Modul (zur Steuerung der Maus) für diese Ausführung. Installieren Sie pynput in cmd. 

Hinweis: Wenn Sie nicht wissen, wie Sie das Python-Pip-Paket auf Ihrem System einrichten sollen, klicken Sie hier

Installation des Pynput-Moduls

Überprüfen Sie, ob das pynput Modul erfolgreich in Ihre Arbeitsumgebung für diese installiert wurde, öffnen IDLE auf dem System, wird cmd oder Python - Shell. Führen Sie den Befehl import pynput aus. Nach dieser Ausführung sollte die Ausgabe null Fehler enthalten, was bedeutet, dass Ihr Modul erfolgreich installiert wurde. 



Überprüfen der Modulinstallation

Implementierung:

Fahren wir nun mit dem Code fort, der zum Erstellen eines Auto-Clickers mit Python erforderlich ist . Führen Sie die folgenden Schritte aus, um einen Auto-Clicker zu erstellen:

Schritt 1: Importieren Sie Zeit und Threading und importieren Sie dann Button und Controller aus dem Modul pynput.mouse . Importieren Sie Listener und KeyCode aus pynput.keyboard.

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

Schritt 2: Erstellen Sie vier Variablen wie unten erwähnt.

  • Verzögerung : Verzögerung zwischen jedem Klick (in Sekunden)
  • Schaltfläche : Mit der Schaltfläche klicken Sie in die gewünschte Richtung.  Button.left | Button.middle | Button.right
  • start_stop_key : Der Schlüssel zum Starten und Stoppen des Klicks, während Sie das Programm zum Ausführen des automatischen Klickers ausführen. Es sollte aus einer Schlüsselklasse stammen oder mit KeyCode festgelegt werden .
  • exit_key : Der Schlüssel zum Beenden des ausgeführten Auto-Clickers. Dies sollte aus der Schlüsselklasse stammen oder mit KeyCode festgelegt werden .
delay = 0.001
button = Button.right 
start_stop_key = KeyCode(char='a') 
stop_key = KeyCode(char='b') 

Schritt 3: Erstellen Sie eine Klasse, die das Threading erweitert. Übergeben Sie Verzögerung und Schaltfläche an die Klasse mit zwei Flags, um zu überprüfen, ob das Programm ausgeführt wird oder nicht.

class ClickMouse(threading.Thread): 
    
  
  
    def __init__(self, delay, button): 
        super(ClickMouse, self).__init__() 
        self.delay = delay 
        self.button = button 
        self.running = False
        self.program_running = True

Schritt 4: Fügen Sie Methoden hinzu, um die Threads extern zu steuern.



def start_clicking(self): 
        self.running = True
  
def stop_clicking(self): 
        self.running = False
  
def exit(self): 
        self.stop_clicking() 
        self.program_running = False

 

Schritt 5: Beim Starten des Threads wird eine Methode erstellt. Program_running wird in einer Schleife ausgeführt, bis der Wert true ist. Außerdem wird in der vorhandenen Schleife eine weitere Schleife erstellt, in der überprüft wird, ob running auf true gesetzt ist oder nicht. Wenn wir uns in beiden Schleifen befinden, klickt es auf die Set-Schaltfläche und schläft für die eingestellte Verzögerung.

def run(self): 
    while self.program_running: 
        while self.running: 
            mouse.click(self.button) 
            time.sleep(self.delay) 
        time.sleep(0.1)

Schritt 6: Erstellen Sie eine Instanz für den Mauscontroller und erstellen Sie dann einen ClickMouse-Thread . Starten Sie die Instanz, um in die Schleife innerhalb der Ausführungsmethode zu wechseln.

mouse = Controller() 
click_thread = ClickMouse(delay, button) 
click_thread.start() 

 

Schritt 7: Erstellen Sie eine Methode on_press, die eine Taste als Argument verwendet und einen Tastatur-Listener einrichtet . Der start_stop_key stimmt bei seiner Ausführung mit einem Startschlüssel (a) überein . Dann muss der Klick beendet werden, wenn das laufende Flag im Thread auf True gesetzt ist. Die Exit-Methode wird in der Methode aufgerufen, wenn die Exit-Taste (b) ausgeführt wird und der Listener gestoppt wird.

  
  
def on_press(key): 
  
  
  
    if key == start_stop_key: 
        if click_thread.running: 
            click_thread.stop_clicking() 
        else: 
            click_thread.start_clicking() 
  
    
    
    elif key == stop_key: 
        click_thread.exit() 
        listener.stop() 
  
  
with Listener(on_press=on_press) as listener: 
    listener.join() 

Nachdem der Code ausgeführt wurde, sehen wir in der Ausgabe, wie unten gezeigt, die Anzahl der Klicks, die der Auto-Clicker nach der Implementierung des Codes ausgeführt hat. Es ist kompatibel mit Windows, Mac und Linux. Auto-Clicker ist eine hilfreiche Software für die Systeme, da wir so eine angemessene Zeit sparen können, die für wiederholte Klicks aufgewendet wird. 



Unten ist das komplette Programm:

import time 
import threading 
from pynput.mouse import Button, Controller 
  
from pynput.keyboard import Listener, KeyCode 
  
  
delay = 0.001
button = Button.right 
start_stop_key = KeyCode(char='a') 
stop_key = KeyCode(char='b') 
  
class ClickMouse(threading.Thread): 
    
  
  
    def __init__(self, delay, button): 
        super(ClickMouse, self).__init__() 
        self.delay = delay 
        self.button = button 
        self.running = False
        self.program_running = True
  
    def start_clicking(self): 
        self.running = True
  
    def stop_clicking(self): 
        self.running = False
  
    def exit(self): 
        self.stop_clicking() 
        self.program_running = False
  
    
    
    
    
    
    def run(self): 
        while self.program_running: 
            while self.running: 
                mouse.click(self.button) 
                time.sleep(self.delay) 
            time.sleep(0.1) 
  
  
mouse = Controller() 
click_thread = ClickMouse(delay, button) 
click_thread.start() 
  
  
def on_press(key): 
    
  
  
    if key == start_stop_key: 
        if click_thread.running: 
            click_thread.stop_clicking() 
        else: 
            click_thread.start_clicking() 
              
    
    
    elif key == stop_key: 
        click_thread.exit() 
        listener.stop() 
  
  
with Listener(on_press=on_press) as listener: 
    listener.join() 

Lassen Sie uns nun das von uns geschriebene Python-Programm ausführen und dann den Start drücken (a) Tasten und Stop (a) , um den Auto-Clicker zu . 

Ausgabe: