상세 컨텐츠

본문 제목

[파이썬] 업무 자동화 pyautogui 사용해서 마우스가 랜덤으로 움직이게 하는 방법 (마우스 이동 시간 간격, 움직이는 총 시간 조절 가능)

Python

by 이동글2 2023. 12. 27. 20:05

본문

 

import pyautogui
import random
import time

def random_mouse_movement_and_click(interval_min, interval_max, duration):
    end_time = time.time() + duration
    while time.time() < end_time:
        # 랜덤한 시간 간격 설정
        time.sleep(random.uniform(interval_min, interval_max))

        # 화면 크기 가져오기
        screen_width, screen_height = pyautogui.size()

        # 화면 내에서 랜덤한 위치 결정
        x = random.randint(0, screen_width)
        y = random.randint(0, screen_height)

        # 마우스 이동 및 클릭
        pyautogui.moveTo(x, y)
        pyautogui.click()

# 사용자로부터 최소 및 최대 시간 간격, 그리고 총 작동 시간 입력받기
try:
    interval_min = float(input("최소 시간 간격을 초 단위로 입력하세요: "))
    interval_max = float(input("최대 시간 간격을 초 단위로 입력하세요: "))
    duration = float(input("마우스가 움직일 총 시간을 초 단위로 입력하세요: "))

    if interval_min > interval_max:
        print("최소 시간은 최대 시간보다 작아야 합니다.")
    else:
        random_mouse_movement_and_click(interval_min, interval_max, duration)
except ValueError:
    print("유효한 숫자를 입력해야 합니다.")

 

 

파이썬의 pyautogui 라이브러리를 사용하여 마우스 포인터를 랜덤한 위치로 이동시키고 클릭하는 작업을 자동화하는 스크립트입니다. 코드의 주요 기능은 다음과 같습니다:

  1. 함수 정의 (random_mouse_movement_and_click): 이 함수는 세 개의 매개변수를 받습니다: interval_min, interval_max, duration. 이들은 각각 마우스가 움직이는 최소 시간 간격, 최대 시간 간격, 그리고 총 작동 시간을 초 단위로 나타냅니다.
  2. 랜덤 시간 간격과 위치 설정: 함수 내에서 무한 루프를 사용하여 지정된 총 작동 시간(duration) 동안 마우스를 움직입니다. 각 반복에서는 random.uniform(interval_min, interval_max)을 사용하여 랜덤한 시간 간격으로 대기한 후, random.randint(0, screen_width)와 random.randint(0, screen_height)를 사용하여 화면 내에서 랜덤한 위치를 결정합니다.
  3. 마우스 이동 및 클릭: pyautogui.moveTo(x, y) 함수를 사용하여 마우스 포인터를 랜덤한 위치로 이동시키고, pyautogui.click() 함수를 사용하여 클릭합니다.
  4. 사용자 입력 처리: 스크립트는 사용자로부터 최소 시간 간격, 최대 시간 간격, 총 작동 시간을 입력받습니다. 입력된 값들은 float 타입으로 변환되어 random_mouse_movement_and_click 함수에 전달됩니다. 만약 최소 시간 간격이 최대 시간 간격보다 크거나, 입력값이 숫자가 아닌 경우 오류 메시지를 출력합니다.

이 스크립트는 주로 화면이 자동으로 잠기는 것을 방지하거나, 사용자가 여전히 활동 중임을 시스템에 알리기 위해 사용될 수 있습니다. 그러나 이러한 자동화된 마우스 움직임은 예기치 않은 상황을 초래할 수 있으므로, 사용에 주의가 필요합니다.

관련글 더보기