Como fazer um clicker automático em Python

O que é o clicker automático?

Auto clicker é um programa onde algum script de código é escrito e, com base no código, se algum usuário definir que uma tecla é pressionada, o mouse será clicado automaticamente. Em Python, podemos fazer um projeto de clicker automático usando um módulo pynput que pode ser instalado pelo comando pip.

Podemos dividir o código do clicker automático nas seguintes etapas:

1. Importando módulos necessários

Importaremos o módulo de tempo e thread e importaremos o módulo Button, Controller do submódulo mouse do pynput. Da mesma forma, importaremos os módulos Listener e Keycode do submódulo de teclado do pynput.

Exemplo:

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

2. Inicializando as variáveis

Nesta seção inicializaremos quatro variáveis ​​​​que são muito úteis para a execução do programa.

    botãoDireção : Esta variável decidirá em qual lado do botão queremos clicar (direito, esquerdo ou meio). tempo de atraso : esta variável define o tempo entre dois cliques sucessivos. startStopButton : Esta variável define qual tecla ou botão será utilizado para iniciar e parar o projeto do auto clicker. terminarButton : Esta variável define o botão que será utilizado para encerrar o programa.

Exemplo:

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

3. Criando a classe

Nesta seção, criaremos a classe que estende a classe thread para verificar se o clique do mouse foi executado ou não.

Exemplo:

 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. Nesta seção, definiremos alguns métodos para controlar os cliques do mouse usando threads externamente.

Exemplo:

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

5. Nesta seção, definimos o método que executará o código completo usando dois loops aninhados. Esses loops serão encerrados quando as variáveis ​​forem definidas como falsas. Caso contrário, eles continuarão o programa.

Exemplo:

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

6. Nesta seção, criaremos o thread para clique do mouse e então iniciaremos o thread.

Exemplo:

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

7. É a última seção onde definimos a função de clique do teclado. Se alguma tecla for pressionada, ela passa como argumento nesta função e verifica com diferentes casos.

Se for a tecla startStop, o programa será iniciado ou interrompido. Se for a chave de encerramento, o programa será encerrado.

Exemplo:

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

Exemplo completo:

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

Explicação:

No código acima, inicializamos as teclas start e stop como 's' e a chave de término como 'x'. Quando executamos o script python e inserimos 's', automaticamente, sempre que movemos o mouse na tela, ele será clicado com o botão direito com um atraso de 0,001 segundos ou um milissegundo.

Podemos alterar a funcionalidade do clique do mouse na seção 2, onde podemos usar o atributo Button.left ou Button.center para alterar a direção do clique do mouse.

Se quisermos ver o clique do mouse facilmente, podemos alterar o delayTime para um valor mais alto para ver o clique real. Neste código, quando não movemos o cursor do mouse na tela, ele não clica. Funcionará apenas quando movermos o cursor na tela.