logo

Jak zrobić automatyczny kliker w Pythonie

Co to jest automatyczny kliker?

Auto clicker to program, w którym pisany jest skrypt kodu i na podstawie tego kodu, jeśli jakiś użytkownik zdefiniuje naciśnięcie klawisza, mysz zostanie kliknięta automatycznie. W Pythonie możemy stworzyć projekt automatycznego kliknięcia za pomocą modułu pynput, który można zainstalować za pomocą polecenia pip.

Kod automatycznego kliknięcia możemy podzielić na następujące kroki:

1. Importowanie wymaganych modułów

Zaimportujemy moduł czasu i wątku oraz zaimportujemy moduł Przycisk, Kontroler z podmodułu myszy w pynput. W ten sam sposób zaimportujemy moduły Listener i Keycode z podmodułu klawiatury pynput.

Przykład:

sprawdzenie Java ma wartość null
 import time import threading from pynput.mouse import Button, Controller from pynput.keyboard import Listener, KeyCode 

2. Inicjowanie zmiennych

W tej sekcji zainicjujemy cztery zmienne, które są bardzo przydatne do wykonania programu.

    przycisk Kierunek: Ta zmienna decyduje, którą stronę przycisku chcemy kliknąć (prawą, lewą lub środkową).Czas zwłoki: Ta zmienna określa czas pomiędzy dwoma kolejnymi kliknięciami.przycisk startStop: Ta zmienna określa, który klawisz lub przycisk będzie używany do uruchamiania i zatrzymywania projektu automatycznego klikania.przycisk zakończenia: Ta zmienna definiuje przycisk, który zostanie użyty do zakończenia programu.

Przykład:

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

3. Tworzenie klasy

W tej sekcji utworzymy klasę rozszerzającą klasę wątku w celu sprawdzenia, czy kliknięcie myszą zostało wykonane, czy nie.

Przykład:

strony serwera Java
 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. W tej sekcji zdefiniujemy niektóre metody kontrolowania kliknięć myszą za pomocą wątków zewnętrznych.

Przykład:

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

5. W tej sekcji zdefiniowaliśmy metodę, która będzie wykonywała cały kod przy użyciu dwóch zagnieżdżonych pętli. Pętle te zostaną zakończone, gdy zmienne zostaną ustawione na wartość false. W przeciwnym razie będą kontynuować program.

Przykład:

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

6. W tej sekcji utworzymy wątek do kliknięcia myszką, a następnie rozpoczniemy wątek.

Przykład:

polecenia systemu Linux tworzą folder
 mouse = Controller() clickThread = ClickTheMouse(delayTime, buttonDirection) clickThread.start() 

7. To ostatnia sekcja, w której definiujemy funkcję kliknięcia klawiaturą. Jeśli zostanie naciśnięty dowolny klawisz, przekazuje on jako argument tej funkcji i sprawdza w różnych przypadkach.

Jeśli jest to klawisz startStop, program zostanie uruchomiony lub zatrzymany. Jeśli jest to klucz kończący, program zostanie zakończony.

wzorce programowania java

Przykład:

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

Kompletny przykład:

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

Wyjaśnienie:

W powyższym kodzie zainicjowaliśmy klawisze start i stop jako „s”, a klawisz zakończenia jako „x”. Kiedy uruchomimy skrypt Pythona i wpiszemy „s”, to automatycznie, ilekroć poruszymy myszą na ekranie, zostanie on kliknięty prawym przyciskiem myszy z opóźnieniem 0,001 sekundy lub jednej milisekundy.

Funkcjonalność kliknięcia myszą możemy zmienić w sekcji 2, gdzie możemy użyć atrybutu Button.left lub Button.center, aby zmienić kierunek kliknięcia myszą.

Jeśli chcemy, aby kliknięcie myszą było łatwe, możemy zmienić wartość opóźnienia na wyższą, aby zobaczyć rzeczywiste kliknięcie. W tym kodzie, jeśli nie poruszymy kursorem myszy na ekranie, to nie będzie on klikał. Zadziała to tylko wtedy, gdy poruszymy kursorem na ekranie.