Python에서 자동 클릭커 만들기

Manav Narula 2023년6월21일
  1. pyautogui 모듈을 사용하여 Python에서 자동 클릭커 만들기
  2. win32api를 사용하여 Python에서 자동 클릭커 만들기
  3. pynput 모듈을 사용하여 Python에서 자동 클릭커 만들기
  4. 결론
Python에서 자동 클릭커 만들기

이름에서 알 수 있듯이 Python의 자동 클릭커는 사용자 요구 사항에 따라 마우스를 반복적으로 클릭하는 간단한 Python 응용 프로그램입니다. 속도, 주파수 및 위치와 같은 다른 매개변수는 사용자에 따라 변경할 수 있습니다.

Python에는 키보드, 마우스 등과 같은 장치를 제어하는 데 사용할 수 있는 다양한 모듈이 있습니다. 따라서 이러한 모듈을 사용하여 Python에서 자동 클리커를 쉽게 만들 수 있습니다.

이 튜토리얼은 Python에서 자동 클릭커를 만드는 다양한 방법을 보여줍니다.

pyautogui 모듈을 사용하여 Python에서 자동 클릭커 만들기

pyautogui 모듈은 장치의 마우스와 키보드를 제어하는 스크립트를 생성할 수 있습니다.

pyautogui.click() 함수를 사용하여 마우스를 클릭할 수 있습니다. pyautogui.moveTo() 함수를 사용하여 미리 마우스를 필요한 위치로 이동하고 커서의 좌표를 지정할 수 있습니다.

이러한 기능으로 자동 클릭커를 생성하기 위해 마우스를 이동하고 for 루프를 실행하여 모든 반복의 pyautogui.click() 기능을 실행합니다. 또한 클릭할 때마다 약간 지연되어 표시됩니다.

지연을 위해 time 모듈의 sleep() 함수를 사용합니다.

아래 코드에서 자동 클릭커에 대한 논리를 구현합니다.

import pyautogui
import time

pyautogui.moveTo(600, 800)
for i in range(20):
    time.sleep(0.1)
    pyautogui.click()

위의 예에서 커서를 좌표 (600,800)로 이동하고 click() 기능을 사용하여 마우스를 20번 클릭합니다.

win32api를 사용하여 Python에서 자동 클릭커 만들기

win32api는 Windows COM 개체를 제어하고 자동화하는 데 사용됩니다. win32con 모듈에서 이러한 개체를 사용하고 마우스 클릭을 모방할 수 있습니다.

이를 위해 win32api.mouse_event 기능을 두 번 사용합니다. 한 번은 win32con.MOUSEEVENTF_LEFTDOWN에 대해 다른 하나는 win32con.MOUSEEVENTF_LEFTDOWN에 대해 마우스 클릭을 모방합니다.

win23api.SetCursorPos() 함수를 사용하여 커서의 위치를 필요한 좌표로 설정합니다. 그런 다음 이전 방법에서 수행한 것과 유사한 접근 방식을 사용하여 Python에서 자동 클리커를 만듭니다.

아래 코드를 참조하십시오.

import win32api
import win32con
import time

win32api.SetCursorPos((600, 800))
for i in range(20):
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 600, 800, 0, 0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 600, 800, 0, 0)
    time.sleep(0.1)

pynput 모듈을 사용하여 Python에서 자동 클릭커 만들기

또한 Python 스크립트에서 마우스 및 키보드 동작을 자동화하기 위한 pynput도 있습니다. 이 방법은 자동 클리커를 만드는 데 필요한 기능을 가진 클래스를 생성하므로 이전 두 가지 방법과 다릅니다.

특정 키를 눌렀을 때 자동 클릭커 역할을 하는 클래스를 생성합니다. 클릭을 중지하기 위해 다른 키가 할당됩니다.

pynput.mousepynput.keyboard 모듈을 모두 가져와야 합니다.

생성된 클래스는 threading.Thread 클래스로 확장되어 다양한 기능으로 스레드를 제어할 수 있습니다.

클래스의 __init__ 메서드에서 이전에 수행한 것처럼 모든 클릭 사이에 약간의 지연을 지정하고 Button.Left 개체를 사용하여 마우스의 왼쪽 버튼을 클릭한다고 언급합니다.

스레드는 클릭 중지 키를 누를 때까지 계속 실행됩니다. threading.Thread 클래스의 start() 메서드를 사용하여 클릭을 시작합니다.

running() 메서드에서 Controller 클래스 개체도 사용합니다.

스레드를 시작하고 중지하기 위해 함수를 만듭니다. Listener() 함수는 on_press 인수를 사용하여 키를 누르는 동안 정의된 함수를 실행합니다.

이 논리는 아래 코드에서 구현됩니다.

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

start_end = KeyCode(char="a")
exit_key = KeyCode(char="z")


class auto_clicker_class(threading.Thread):
    def __init__(self):
        super(auto_clicker_class, self).__init__()
        self.delay = 0.1
        self.button = Button.left
        self.running = False
        self.program_run = True

    def begin_clicking(self):
        self.running = True

    def clicking_stop(self):
        self.running = False

    def exit(self):
        self.clicking_stop()
        self.program_run = False

    def run(self):
        while self.program_run:
            while self.running:
                mouse_ob.click(self.button)
                time.sleep(self.delay)
            time.sleep(0.1)


mouse_ob = Controller()
t = auto_clicker_class()
t.start()


def fun(k):
    if k == start_end:
        if t.running:
            t.clicking_stop()
        else:
            t.begin_clicking()
    elif k == exit_key:
        t.exit()
        listener.stop()


with Listener(on_press=fun) as listener:
    listener.join()

결론

이 튜토리얼에서 자동 클릭커에 대해 논의했습니다. 처음 두 메서드는 마우스 클릭을 모방하기 위해 for 루프를 사용하여 여러 번 반복되는 함수를 실행하므로 비교적 간단합니다.

마지막 방법은 키보드에서 누른 키를 기반으로 클릭을 시작하고 중지할 수 있는 Python의 적절한 자동 클릭 스크립트를 만듭니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn