NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    Python 파이썬 마우스 클릭 매크로 제작. (with AI ChatGPT)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 요즘 ChatGPT를 이용해서 이것저것 자동화하는 유튜브가 많아졌습니다. 사실, 사용 방법 자체가 쉽고 누구나 쉽게 접근할 수 있기 때문에 컴퓨터를 잘 모르는 분들도 간단한 소프트웨어 정도는 만들 수 있기 때문입니다. 개발자가 사용하면 더 괜찮은 프로그램을 쉽고 빠르게 만들 수 있을것으로 생각됩니다. ChatGPT가 아무리 뛰어나다고 해도 개발 환경 구성이나 컴파일(Compile) 또는 빌드(Build) 정도는 직접해야 하니까요. 아직 테스트 해보지는 않았지만~ HDD/SSD 스푸퍼 프로그램도 질문만 잘 하면 가능하지 않을까 생각됩니다. 기술적인 부분들을 잘 조합하면 프로그램이 나올거 같거든요^^

     

    파이썬 마우스 클릭 매크로 만들기

    우선, 챗GPT에 접속한 후 "파이썬으로 마우스 클릭 매크로 만들어줘"라고 해봤습니다.

    18bBnKw.png

     

     

    안녕하세요! 파이썬으로 마우스 클릭 매크로를 만드는 방법을 알려드리겠습니다.

    우선, 이 작업을 수행하기 위해 파이썬에서는 pyautogui 모듈을 사용합니다. 이 모듈을 설치하려면 명령 프롬프트 또는 터미널에서 pip install pyautogui를 입력합니다.

    다음으로, 다음 코드를 사용하여 클릭하려는 위치를 지정하고 마우스 클릭 명령을 보내면 됩니다.

    import pyautogui
    
    # 클릭하려는 위치 지정
    x = 100
    y = 200
    
    # 마우스 이동 및 클릭 명령 보내기
    pyautogui.moveTo(x, y)
    pyautogui.click()
    

     

    위 코드에서 xy는 클릭하려는 위치를 지정하는 변수입니다. pyautogui.moveTo(x, y)는 마우스를 해당 위치로 이동시키고, pyautogui.click()은 마우스 클릭 명령을 보내 클릭을 수행합니다.

    만약 여러 번 클릭을 반복하려면, for 루프를 사용하여 여러 번 클릭할 수 있습니다.

    import pyautogui
    import time
    
    # 클릭하려는 위치 지정
    x = 100
    y = 200
    
    # 5번 클릭 반복
    for i in range(5):
        # 마우스 이동 및 클릭 명령 보내기
        pyautogui.moveTo(x, y)
        pyautogui.click()
        # 1초 대기
        time.sleep(1)
    

     

    위 코드에서 range(5)는 5번 반복을 의미합니다. time.sleep(1)은 1초 동안 대기하라는 의미이며, 클릭 간의 간격을 조정할 수 있습니다.

    이렇게 파이썬으로 마우스 클릭 매크로를 만들 수 있습니다.

     

    친절하게 설명까지 곁들여주니 일반인이 보기에도 너무 좋을거 같습니다. 코드를 분석하기 보다는 설명을 참고해서 매크로 프로그램의 코드를 조금씩 수정해보면 동작 원리를 금방 파악할 수 있고, 자신이 원하는 프로그램을 쉽게 제작할 수 있습니다. Visual Studio Code(비주얼 스튜디오 코드)를 실행한 후 위 코드를 붙여넣기 해보세요.

    GF0mz6C.png

     

     

    전체 코드의 9번째 줄을 약간 수정할께요. 5번 클릭 반복 아래에 1번만 클릭하도록 숫자 5를 1로 변경하세요. 그리고 실행 해보세요.

     

     

    코딩 한줄 안하고, 마우스 클릭 매크로 프로그램을 만들었습니다. 대단하죠? 개발자가 아니더라도 질문만 잘하면 원하는 매크로 프로그램을 제작할 수 있을거 같습니다. 이번에는 마우스가 한번에 점프하는게 아닌 부드럽게 이동하는 방법에 대해 알아보겠습니다. 챗gpt에게 아래와 같이 질문했습니다.

    WTCWbln.png

     

     

    마우스가 이동하면서 클릭하는 방법은 pyautogui 모듈의 dragTo() 함수를 사용하여 구현할 수 있습니다. 이 함수는 현재 마우스 위치에서 지정한 위치까지 마우스를 드래그하면서 이동하고 클릭을 수행합니다.

    예를 들어, 다음 코드는 (100, 200)부터 (300, 400)까지 마우스를 드래그하면서 이동하고 클릭하는 코드입니다.

    import pyautogui
    
    # 시작 위치 지정
    start_x = 100
    start_y = 200
    
    # 종료 위치 지정
    end_x = 300
    end_y = 400
    
    # 마우스 이동 및 드래그 클릭
    pyautogui.moveTo(start_x, start_y)
    pyautogui.dragTo(end_x, end_y, duration=1, button='left')
    

     

    위 코드에서 pyautogui.dragTo() 함수는 duration 매개변수를 사용하여 드래그하는 동안 지속되는 시간을 조정할 수 있습니다. button 매개변수를 사용하여 클릭할 마우스 버튼을 선택할 수 있습니다. 여기서는 왼쪽 마우스 버튼을 사용합니다.

    마우스 이동과 클릭을 동시에 수행하는 것이므로, 마우스 이동 및 클릭 간의 간격을 조정할 수 있는 time.sleep() 함수를 사용할 필요가 없습니다.

     

    챗gpt가 엄청나게 대단한 이유는 대화에 대한 연속성을 이해하고 적절하게 솔루션(Solution)을 제공해준다는 점입니다. 이슈가 크게 된 이유는 이렇게 이전의 질문과 연결해서 답변해주는 프로그램이 세상에 없었기 때문입니다. 아무튼~ 이 코드를 Visaul Studio Code에 붙여넣기하고 다시 실행 해보세요.

     

     

    좌표값만 잘 바꿔서 사용하면 원하는 위치에서 드래그가 가능합니다. 모바일 게임에 이용하면 매크로 제작을 쉽게 할 수 있겠네요. 아마 예약 관련된 매크로 프로그램 제작도 누구나 쉽게 할 수 있지 않을까 생각되네요. 이 부분도 챗GPT를 이용해서 한번 만들어봐야겠습니다. 우선, 간단한 매크로 프로그램을 제작 해보고 예약 관련해서도 글을 작성 해볼께요. 엔지엠소프트웨어 홈페이지를 자주 찾아주세요^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.