logo

Hvordan lage en Python automatisk klikker

Hva er automatisk klikker?

Autoklikker er et program hvor et kodeskript skrives, og basert på koden, hvis noen bruker definerer en tast trykkes, vil musen klikkes automatisk. I Python kan vi lage et autoklikkerprosjekt ved å bruke en pynput-modul som kan installeres med pip-kommando.

Vi kan dele opp autoklikkerkoden i følgende trinn:

1. Importere nødvendige moduler

Vi vil importere tids- og trådmodulen, og vi importerer knappen Button, Controller fra museundermodulen til pynput. På samme måte vil vi importere Listener- og Keycode-modulene fra pynputs tastaturundermodul.

Eksempel:

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

2. Initialisering av variablene

I denne delen vil vi initialisere fire variabler som er svært nyttige for utførelse av programmet.

    knappRetning: Denne variabelen bestemmer hvilken knappside vi vil klikke på (høyre, venstre eller midtre).forsinkelsestid: Denne variabelen definerer tiden mellom to påfølgende klikk.startStoppknapp: Denne variabelen definerer hvilken tast eller knapp som skal brukes til å starte og stoppe autoklikkerprosjektet.terminate-knappen: Denne variabelen definerer knappen som skal brukes til å avslutte programmet.

Eksempel:

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

3. Opprette klassen

I denne delen vil vi lage klassen som utvider trådklassen for å sjekke om museklikket har blitt utført eller ikke.

typer maskinlæring

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 denne delen vil vi definere noen metoder for å kontrollere museklikkene ved å bruke tråder 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 denne delen har vi definert metoden som skal utføre hele koden ved å bruke to nestede løkker. Disse løkkene vil bli avsluttet når variablene er satt til usann. Ellers vil de fortsette å fortsette 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 denne delen vil vi lage tråden for museklikk og deretter starte tråden.

Eksempel:

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

7. Det er den siste delen hvor vi definerer funksjonen for tastaturklikk. Hvis en tast trykkes, passerer den som et argument i denne funksjonen og sjekker med forskjellige tilfeller.

nummig summering

Hvis det er startStop-tasten, vil programmet startes eller stoppes. Hvis det er avslutningsnøkkelen, vil programmet bli avsluttet.

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

Komplett 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 koden ovenfor har vi initialisert start- og stopptastene som 's' og terminate-tasten som 'x'. Når vi kjører python-skriptet og hvis vi skriver inn 's', vil den automatisk, hver gang vi beveger musen på skjermen, høyreklikkes med en forsinkelse på 0,001 sekunder eller ett millisekund.

Vi kan endre funksjonaliteten til museklikk i seksjon 2, hvor vi kan bruke enten Button.left eller Button.center-attributtet for å endre klikkretningen til musen.

Hvis vi ønsker å se museklikket enkelt, kan vi endre forsinkelsestiden til høyere for å se det faktiske klikket. I denne koden, når vi ikke flytter musepekeren på skjermen, vil den ikke klikke. Det fungerer bare når vi flytter markøren på skjermen.