Cos'è il clicker automatico?
Auto clicker è un programma in cui viene scritto uno script di codice e, in base al codice, se un utente definisce che viene premuto un tasto, il mouse verrà cliccato automaticamente. In Python, possiamo creare un progetto auto clicker utilizzando un modulo pynput che può essere installato tramite il comando pip.
Possiamo dividere il codice del clicker automatico nei seguenti passaggi:
1. Importazione dei moduli richiesti
Importeremo il modulo time e thread e importeremo il modulo Button, Controller dal sottomodulo del mouse di pynput. Allo stesso modo, importeremo i moduli Listener e Keycode dal sottomodulo della tastiera di pynput.
Esempio:
import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode
2. Inizializzazione delle variabili
In questa sezione inizializzeremo quattro variabili molto utili per l'esecuzione del programma.
Esempio:
buttonDirection= Button.right delayTime= 0.001 startStopButton = KeyCode(char='s') terminateButton= KeyCode(char='x')
3. Creazione della classe
In questa sezione creeremo la classe che estende la classe thread per verificare se il clic del mouse è stato eseguito o meno.
come chiamare un metodo in Java
Esempio:
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 questa sezione definiremo alcuni metodi per controllare i clic del mouse utilizzando i thread esternamente.
Esempio:
def startMouseClick(self): self.running = True def stopMouseClick(self): self.running = False def exitScript(self): self.stopMouseClick() self.program_running = False
5. In questa sezione abbiamo definito il metodo che eseguirà il codice completo utilizzando due cicli nidificati. Questi cicli verranno terminati quando le variabili saranno impostate su false. Altrimenti continueranno il programma.
Esempio:
def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1)
6. In questa sezione creeremo il thread per il clic del mouse e quindi inizieremo il thread.
Esempio:
mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start()
7. È l'ultima sezione in cui definiamo la funzione per il clic della tastiera. Se viene premuto un tasto qualsiasi, passa come argomento in questa funzione e verifica con casi diversi.
programma di ereditarietà in Python
Se è il tasto startStop, il programma verrà avviato o interrotto. Se è la chiave di terminazione, il programma verrà terminato.
Esempio:
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()
Esempio completo:
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()
Spiegazione:
Nel codice precedente, abbiamo inizializzato i tasti di inizio e fine come 's' e il tasto di terminazione come 'x'. Quando eseguiamo lo script Python e se inseriamo 's', automaticamente, ogni volta che spostiamo il mouse sullo schermo, verrà fatto clic con il pulsante destro del mouse con un ritardo di 0,001 secondi o un millisecondo.
Possiamo modificare la funzionalità del clic del mouse nella sezione 2, dove possiamo utilizzare l'attributo Button.left o Button.center per modificare la direzione del clic del mouse.
Se vogliamo vedere facilmente il clic del mouse, possiamo modificare il ritardoTime su un valore più alto per vedere il clic effettivo. In questo codice, quando non spostiamo il cursore del mouse sullo schermo, non farà clic. Funzionerà solo quando spostiamo il cursore sullo schermo.