logo

Hoe maak je een automatische Python-clicker?

Wat is automatische clicker?

Autoclicker is een programma waarin een codescript wordt geschreven en op basis van de code, als een gebruiker definieert dat er een toets wordt ingedrukt, wordt er automatisch op de muis geklikt. In Python kunnen we een auto-clicker-project maken met behulp van een pynput-module die kan worden geïnstalleerd met de pip-opdracht.

mysql left join

We kunnen de autoclickercode in de volgende stappen verdelen:

1. Benodigde modules importeren

We zullen de tijd- en threadmodule importeren, en we zullen de Button, Controller-module importeren uit de muis-submodule van pynput. Op dezelfde manier zullen we de Listener- en Keycode-modules importeren uit de toetsenbordsubmodule van pynput.

Voorbeeld:

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

2. Initialiseren van de variabelen

In deze sectie zullen we vier variabelen initialiseren die erg handig zijn voor de uitvoering van het programma.

    knopRichting: Deze variabele bepaalt op welke knopzijde we willen klikken (rechts, links of midden).vertragingstijd: deze variabele definieert de tijd tussen twee opeenvolgende klikken.startStopKnop: deze variabele definieert welke toets of knop wordt gebruikt om het autoclickerproject te starten en te stoppen.beëindigenKnop: Deze variabele definieert de knop die wordt gebruikt om het programma te beëindigen.

Voorbeeld:

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

3. De klas aanmaken

In deze sectie zullen we de klasse maken die de threadklasse uitbreidt om te controleren of de muisklik is uitgevoerd of niet.

Voorbeeld:

Java converteert tekenreeks naar geheel getal
 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 deze sectie zullen we enkele methoden definiëren om de muisklikken extern te besturen met behulp van threads.

Voorbeeld:

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

5. In deze sectie hebben we de methode gedefinieerd waarmee de volledige code wordt uitgevoerd met behulp van twee geneste lussen. Deze lussen worden beëindigd wanneer variabelen op false worden ingesteld. Anders blijven ze doorgaan met het programma.

Voorbeeld:

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

6. In deze sectie maken we de thread voor muisklikken en vervolgens starten we de thread.

Voorbeeld:

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

7. Het is de laatste sectie waarin we de functie voor toetsenbordklikken definiëren. Als er op een willekeurige toets wordt gedrukt, wordt deze in deze functie als argument doorgegeven en met verschillende gevallen gecontroleerd.

Als het de startStop-toets is, wordt het programma gestart of gestopt. Als het de afsluitsleutel is, wordt het programma beëindigd.

Voorbeeld:

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

Compleet voorbeeld:

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

Uitleg:

java kern java

In de bovenstaande code hebben we de start- en stoptoetsen geïnitialiseerd als 's' en de beëindigingssleutel als 'x'. Wanneer we het Python-script uitvoeren en 's' invoeren, wordt er automatisch met de rechtermuisknop op geklikt als we onze muis over het scherm bewegen met een vertraging van 0,001 seconde of één milliseconde.

We kunnen de functionaliteit van de muisklik wijzigen in sectie 2, waar we het kenmerk Button.left of Button.center kunnen gebruiken om de klikrichting van de muis te wijzigen.

Als we de muisklik gemakkelijk willen zien, kunnen we de delayTime hoger instellen om de daadwerkelijke klik te zien. Als we in deze code de muiscursor niet over het scherm bewegen, klikt deze niet. Het werkt alleen als we de cursor op het scherm verplaatsen.