logo

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.

formato de string java longo

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.