본문 바로가기

카테고리 없음

[python] pyautogui(1)-자동화, 이미지 버튼 클릭

반응형
pyautogui 
import pyautogui

file_menu = pyautogui.locateOnScreen("./Desktop/그림2.png")
pyautogui.click(file_menu)

#여러 개 일 경우
for i in pyautogui.locateAllOnScreen("경로.png"):
    pyautogui.click(i)
    

    
#속도개선(흑백처리)
#1. grayScale
file_menu = pyautogui.locateOnScreen("./Desktop/그림1.png", grayscale = True)
pyautogui.click(file_menu)

#2. 범위 지정(mouseInfo 사용)
file_menu = pyautogui.locateOnScreen("./Desktop/그림1.png", region = (900,600, 1000-900, 700-600)) #region = (x, y, width, height)
pyautogui.click(file_menu)

#3. 정확도 조정
# !pip opencv-python 설치 후
file_menu = pyautogui.locateOnScreen("./Desktop/그림1.png", confidence = 0.7) #70%의 이미지로 탐색
pyautogui.click(file_menu)

 

함수설정, 메뉴 찾고 버튼 클릭, 대기 10초
def fine_target(img_file, timeout = 30):
    start = time.time()
    target = None
    while target is None:
        target = pyautogui.locateOnScreen(img_file)
        end = time.time()
        if end - start > timeout:
            break

def my_click(img_file, timeout = 30):
    target = fine_target(img_file, timeout)
    if target:
        pyautogui.click(target)
    else:
        print(f'[Timeout {timeout}s] Target not found ({img_file}). terminate program')
        sys.exit()

my_click('./Desktop/file_menu_notepad.png', 10)

 

 

반응형