logo

Jak vytvořit automatický kliker v Pythonu

Co je Auto clicker?

Auto clicker je program, kde je napsán nějaký kódový skript a na základě kódu, pokud některý uživatel definuje klávesu, je stisknuto, pak se automaticky klikne myší. V Pythonu můžeme vytvořit projekt automatického klikání pomocí modulu pynput, který lze nainstalovat příkazem pip.

Auto clicker kód můžeme rozdělit do následujících kroků:

1. Import požadovaných modulů

Naimportujeme modul času a vláken a naimportujeme modul Button, Controller ze submodulu myši pynput. Stejným způsobem naimportujeme moduly Listener a Keycode ze submodulu klávesnice pynput.

Příklad:

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

2. Inicializace proměnných

V této části budeme inicializovat čtyři proměnné, které jsou velmi užitečné pro provádění programu.

    tlačítkoSměr: Tato proměnná rozhodne, na kterou stranu tlačítka chceme kliknout (vpravo, vlevo nebo uprostřed).zpoždění: Tato proměnná definuje dobu mezi dvěma po sobě jdoucími kliknutími.StartStopButton: Tato proměnná definuje, která klávesa nebo tlačítko se použije ke spuštění a zastavení projektu automatického klikání.TerminButton: Tato proměnná definuje tlačítko, které bude použito k ukončení programu.

Příklad:

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

3. Vytvoření třídy

V této části vytvoříme třídu, která rozšíří třídu vláken, aby zkontrolovala, zda bylo kliknutí myší provedeno nebo ne.

rozdíl mezi ledem a sněhem

Příklad:

 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. V této části definujeme některé metody pro externí ovládání kliknutí myší pomocí vláken.

Příklad:

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

5. V této části jsme definovali metodu, která bude provádět kompletní kód pomocí dvou vnořených smyček. Tyto smyčky budou ukončeny, když jsou proměnné nastaveny na false. V opačném případě budou pokračovat v programu.

Příklad:

oříznutí javascriptu
 def run(self): while self.program_running: while self.running: mouse.click(self.buttonDirection) time.sleep(self.delayTime) time.sleep(0.1) 

6. V této sekci vytvoříme vlákno pro kliknutí myší a poté vlákno spustíme.

Příklad:

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

7. Je to poslední sekce, kde definujeme funkci pro kliknutí na klávesnici. Pokud je stisknuta libovolná klávesa, přejde jako argument v této funkci a zkontroluje s různými případy.

Pokud je to klávesa startStop, program se spustí nebo zastaví. Pokud se jedná o ukončovací klíč, bude program ukončen.

Příklad:

ahoj světe s javou
 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() 

Úplný příklad:

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

Vysvětlení:

Ve výše uvedeném kódu jsme inicializovali klávesy start a stop jako „s“ a klávesu ukončení jako „x“. Když spustíme python skript a zadáme 's', pak automaticky, kdykoli pohneme myší po obrazovce, klikne se na něj pravé tlačítko se zpožděním 0,001 sekundy nebo jedné milisekundy.

Funkčnost kliknutí myší můžeme změnit v sekci 2, kde můžeme pomocí atributu Button.left nebo Button.center změnit směr kliknutí myši.

Pokud chceme snadno vidět kliknutí myší, můžeme změnit delayTime na vyšší, abychom viděli skutečné kliknutí. V tomto kódu, když nepohneme kurzorem myši na obrazovce, nebude klikat. Bude to fungovat pouze tehdy, když pohneme kurzorem na obrazovce.