logo

Cum să faci un clicker automat Python

Ce este Auto Clicker?

Auto Clicker este un program în care este scris un script de cod și, pe baza codului, dacă un utilizator definește o tastă este apăsată, atunci mouse-ul va fi apăsat automat. În Python, putem realiza un proiect de clic automat folosind un modul pynput care poate fi instalat prin comanda pip.

Putem împărți codul de clic automat în următorii pași:

1. Importul modulelor necesare

Vom importa modulul de timp și thread și vom importa modulul Button, Controller din submodulul mouse-ului pynput. În același mod, vom importa modulele Listener și Keycode din submodulul tastaturii pynput.

Exemplu:

câte zerouri în 1 miliard
 import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode 

2. Inițializarea variabilelor

În această secțiune, vom inițializa patru variabile care sunt foarte utile pentru execuția programului.

    butonul Direcție: Această variabilă va decide pe ce parte a butonului vrem să facem clic (dreapta, stânga sau mijloc).timp de intarziere: Această variabilă definește timpul dintre două clicuri succesive.butonul startStop: Această variabilă definește ce tastă sau buton va fi folosit pentru a porni și opri proiectul auto clicker.terminateButton: Această variabilă definește butonul care va fi folosit pentru a încheia programul.

Exemplu:

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

3. Crearea clasei

În această secțiune, vom crea clasa care extinde clasa thread-ului pentru a verifica dacă clicul mouse-ului a fost executat sau nu.

Exemplu:

clasă abstractă vs interfață
 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. În această secțiune, vom defini câteva metode pentru a controla clicurile mouse-ului folosind fire externe.

Exemplu:

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

5. În această secțiune, am definit metoda care va executa codul complet folosind două bucle imbricate. Aceste bucle se vor termina când variabilele sunt setate la false. În caz contrar, vor continua programul.

Exemplu:

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

6. În această secțiune, vom crea firul pentru clic de mouse și apoi vom începe firul.

Exemplu:

șir în metodele java
 mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() 

7. Este ultima secțiune în care definim funcția de clic de la tastatură. Dacă este apăsată orice tastă, aceasta trece ca argument în această funcție și verifică cu diferite cazuri.

Dacă este tasta startStop, atunci programul va fi pornit sau oprit. Dacă este cheia de terminare, atunci programul va fi încheiat.

comanda Linux make

Exemplu:

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

Exemplu complet:

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

Explicaţie:

În codul de mai sus, am inițializat tastele de pornire și oprire ca „s” și tasta de terminare ca „x”. Când rulăm scriptul python și dacă introducem „s”, atunci automat, de fiecare dată când mișcăm mouse-ul pe ecran, se va face clic dreapta cu o întârziere de 0,001 secunde sau o milisecundă.

Putem schimba funcționalitatea clicului mouse-ului în secțiunea 2, unde putem folosi fie atributul Button.left, fie Button.center pentru a schimba direcția de clic a mouse-ului.

Dacă vrem să vedem clicul mouse-ului cu ușurință, atunci putem schimba delayTime la mai mare pentru a vedea clicul real. În acest cod, atunci când nu mișcăm cursorul mouse-ului pe ecran, atunci nu se va face clic. Va funcționa doar când vom muta cursorul pe ecran.