[파이썬] pyautogui 자동화 태스크 스케줄링

PyAutoGUI는 Python의 라이브러리로, 그래픽 사용자 인터페이스(GUI) 자동화를 위한 강력한 도구입니다. 이를 사용하면 마우스 이동, 클릭, 키보드 입력 등을 자동화할 수 있어, 반복적이고 지루한 작업을 효율적으로 처리할 수 있습니다.

이번 블로그 포스트에서는 PyAutoGUI를 이용하여 자동화 태스크를 스케줄링하는 방법을 알아보겠습니다. 스케줄링은 특정 시간이나 주기에 작업을 실행할 수 있도록 도와줍니다.

1. 일정 시간마다 작업 실행하기

아래의 예제 코드를 살펴보세요. 이 코드는 5분마다 “Hello, World!”라는 메시지를 출력하는 작업을 수행합니다.

import time
import pyautogui

while True:
    print("Hello, World!")
    time.sleep(300)  # 5분 대기

위 코드에서 time.sleep(300)은 5분(300초) 동안 프로그램을 일시적으로 대기시킵니다. 따라서 이 작업은 5분마다 반복해서 실행됩니다.

2. 자정에 작업 실행하기

특정 시간에 작업을 실행하려면, 현재 시간을 계속해서 확인하면서 특정 시간이 되면 작업을 실행하도록 만들 수 있습니다. 아래의 예제 코드는 자정에 “Good night!”라는 메시지를 출력하는 작업을 수행합니다.

import datetime
import pyautogui

while True:
    current_time = datetime.datetime.now()
    if current_time.hour == 0 and current_time.minute == 0:
        print("Good night!")
        break

위 코드에서는 datetime.datetime.now()를 사용하여 현재 시간을 확인합니다. current_time.hourcurrent_time.minute은 현재 시간의 시와 분을 나타냅니다. 따라서 이 작업은 자정에 실행될 수 있도록 하고, break문을 사용하여 반복을 종료합니다.

3. 반복적으로 작업 실행하기

일정한 주기로 작업을 실행하려면, time.sleep()을 이용하여 대기 시간을 설정한 후에 작업을 반복 실행하면 됩니다. 아래의 예제 코드는 10초마다 마우스를 클릭하는 작업을 수행합니다.

import time
import pyautogui

while True:
    pyautogui.click()  # 마우스 클릭
    time.sleep(10)  # 10초 대기

위 코드에서 pyautogui.click()은 마우스 왼쪽 버튼을 클릭하는 동작을 수행합니다. 이 작업은 10초마다 반복해서 실행됩니다.

마치며

PyAutoGUI를 활용하여 자동화 태스크를 스케줄링하는 방법을 알아보았습니다. 일정 시간마다 작업을 실행하거나, 특정 시간에 작업을 실행하거나, 반복적으로 작업을 실행하는 등 다양한 방식으로 자동화할 수 있습니다. 이를 통해 생산성을 높이고, 반복적이고 지루한 작업으로부터 해방될 수 있습니다.