logo

Kā izveidot Python automātisko klikeri

Kas ir automātiskais klikšķis?

Auto Clicker ir programma, kurā tiek uzrakstīts kāds koda skripts, un, pamatojoties uz kodu, ja kāds lietotājs definē, ka taustiņš tiek nospiests, pele tiks noklikšķināta automātiski. Programmā Python mēs varam izveidot automātiskā klikšķa projektu, izmantojot pynput moduli, ko var instalēt ar pip komandu.

Mēs varam sadalīt automātiskā klikšķa kodu šādās darbībās:

1. Nepieciešamo moduļu importēšana

Mēs importēsim laika un pavedienu moduli, un mēs importēsim moduli Button, Controller no pynput peles apakšmoduļa. Tādā pašā veidā mēs importēsim Klausītāja un Keycode moduļus no pynput tastatūras apakšmoduļa.

Piemērs:

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

2. Mainīgo inicializēšana

Šajā sadaļā mēs inicializēsim četrus mainīgos, kas ir ļoti noderīgi programmas izpildei.

    pogaVirziens: Šis mainīgais izlems, kurā pogas pusē mēs vēlamies noklikšķināt (labajā, kreisajā vai vidū).aizkaves laiks: šis mainīgais nosaka laiku starp diviem secīgiem klikšķiem.startStopButton: Šis mainīgais nosaka, kura atslēga vai poga tiks izmantota, lai sāktu un apturētu automātiskā klikšķa projektu.izbeigšanas poga: Šis mainīgais nosaka pogu, kas tiks izmantota, lai beigtu programmu.

Piemērs:

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

3. Klases izveide

Šajā sadaļā mēs izveidosim klasi, kas paplašina pavedienu klasi, lai pārbaudītu, vai peles klikšķis ir izpildīts.

Piemērs:

 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. Šajā sadaļā mēs definēsim dažas metodes, kā kontrolēt peles klikšķus, izmantojot pavedienus ārēji.

Piemērs:

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

5. Šajā sadaļā mēs esam definējuši metodi, kas izpildīs visu kodu, izmantojot divas ligzdotas cilpas. Šīs cilpas tiks pārtrauktas, ja mainīgie ir iestatīti uz false. Pretējā gadījumā viņi turpinās programmu.

Piemērs:

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

6. Šajā sadaļā mēs izveidosim pavedienu peles klikšķim un pēc tam sāksim pavedienu.

virkne uz jsonobject

Piemērs:

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

7. Tā ir pēdējā sadaļa, kurā mēs definējam tastatūras klikšķa funkciju. Ja tiek nospiests kāds taustiņš, tas tiek izmantots kā arguments šajā funkcijā un tiek pārbaudīts dažādos gadījumos.

Ja tas ir startStop taustiņš, programma tiks startēta vai apturēta. Ja tā ir beigu atslēga, programma tiks pārtraukta.

Piemērs:

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

Pilns piemērs:

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

Paskaidrojums:

Iepriekš minētajā kodā sākuma un beigu taustiņus esam inicializējuši kā “s” un beigu taustiņu kā “x”. Kad mēs palaižam python skriptu un ievadām 's', tad automātiski, kad vien mēs pārvietojam peli uz ekrāna, tas tiks noklikšķināts ar peles labo pogu ar 0,001 sekundes vai vienas milisekundes aizkavi.

Peles klikšķa funkcionalitāti varam mainīt 2. sadaļā, kur varam izmantot vai nu Button.left, vai Button.center atribūtu, lai mainītu peles klikšķa virzienu.

Ja mēs vēlamies viegli redzēt peles klikšķi, mēs varam mainīt delayTime uz lielāku, lai redzētu faktisko klikšķi. Šajā kodā, kad mēs nepārvietosim peles kursoru uz ekrāna, tas nenoklikšķinās. Tas darbosies tikai tad, kad pārvietosim kursoru uz ekrāna.