logo

Sådan laver du en Python auto-klikker

Hvad er Auto clicker?

Auto clicker er et program, hvor et kodescript er skrevet, og baseret på koden, hvis en bruger definerer en tast trykkes, så vil musen automatisk blive klikket. I Python kan vi lave et autoklikkerprojekt ved hjælp af et pynput-modul, som kan installeres med pip-kommando.

Vi kan opdele autoklikkerkoden i følgende trin:

1. Import af nødvendige moduler

Vi importerer tids- og trådmodulet, og vi importerer Button, Controller-modulet fra musens undermodul til pynput. På samme måde vil vi importere Listener og Keycode modulerne fra pynputs tastatur undermodul.

Eksempel:

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

2. Initialisering af variablerne

I dette afsnit vil vi initialisere fire variabler, som er meget nyttige til udførelse af programmet.

    knapRetning: Denne variabel bestemmer hvilken knapside vi vil klikke på (højre, venstre eller midterste).forsinkelse: Denne variabel definerer tiden mellem to på hinanden følgende klik.startStop-knap: Denne variabel definerer, hvilken tast eller knap der skal bruges til at starte og stoppe det automatiske klikprojekt.terminate-knap: Denne variabel definerer den knap, der skal bruges til at afslutte programmet.

Eksempel:

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

3. Oprettelse af klassen

I dette afsnit vil vi oprette klassen, som udvider trådklassen for at kontrollere, om museklikket er blevet udført eller ej.

tuple java

Eksempel:

 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. I dette afsnit vil vi definere nogle metoder til at kontrollere museklik ved hjælp af tråde eksternt.

Eksempel:

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

5. I dette afsnit har vi defineret metoden, som skal udføre den komplette kode ved hjælp af to indlejrede løkker. Disse loops vil blive afsluttet, når variabler er sat til falsk. Ellers fortsætter de programmet.

Eksempel:

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

6. I dette afsnit vil vi oprette tråden til museklik, og så starter vi tråden.

Eksempel:

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

7. Det er det sidste afsnit, hvor vi definerer funktionen for tastaturklik. Hvis der trykkes på en tast, passerer den som et argument i denne funktion og kontrollerer med forskellige tilfælde.

numpy summering

Hvis det er startStop-tasten, vil programmet blive startet eller stoppet. Hvis det er den afsluttende nøgle, vil programmet blive afsluttet.

Eksempel:

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

Komplet eksempel:

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

Forklaring:

I ovenstående kode har vi initialiseret start- og stoptasterne som 's' og terminate-tasten som 'x'. Når vi kører python-scriptet, og hvis vi indtaster 's', vil der automatisk, hver gang vi bevæger musen på skærmen, blive højreklikket med en forsinkelse på 0,001 sekunder eller et millisekund.

Vi kan ændre funktionaliteten af ​​museklik i sektion 2, hvor vi kan bruge enten Button.left eller Button.center attribut til at ændre klikretningen på musen.

Hvis vi let vil se museklikket, så kan vi ændre forsinkelsestiden til højere for at se det faktiske klik. I denne kode, når vi ikke flytter musemarkøren på skærmen, vil den ikke klikke. Det fungerer kun, når vi flytter markøren på skærmen.