파이썬(Python)

[ pyautogui ] 파이썬 이미지 찾아 클릭하기(Python pyautogui)

카루루1007 2022. 10. 3. 12:08
728x90
반응형
SMALL
◆ 준비사항
pyautogui 설치 : pip install pyautogui

참고사항

코드를 작성하고 실행을 했을 때 아래와 같은 에러가 출력될 수도 있습니다.

locateonscreen 함수를 사용할 때 발생하는 것 같습니다.

the pillow package is required to use this function.

이 경우 아래와 같이 pillow 패키지를 설치해주시면 됩니다.

pip install pillow

 

◆ 이미지 찾기

먼저 찾을 이미지를 만들어서 파이썬 파일과 같은 폴더에 저장을 해줍니다.

계산기를 샘플로 하겠습니다.

위 그림에서 테두리는 이미지 크기를 보여드리기 위해 일부러 두른 것입니다.

실재 이미지에는 테두리가 없습니다.

위 이미지를 [ 9.png ]로 저장합니다.

이제 코드를 작성합니다.

import pyautogui

btn_find = pyautogui.locateOnScreen("9.png")

print(btn_find)

위 코드의 결과는 다음과 같이 나타납니다.

Box(left=1871, top=631, width=24, height=23)

물론 계산기 프로그램의 위치에 따라 위 값은 바꿀 수 있습니다.

주의할 점은 계산기 프로그램이 화면에 보여야 한다는 것입니다.

다른 프로그램의 뒤에 있어 안보이거나 하면 [ None ]이 출력됩니다.

간혹 잘 찾아지지 않고 계산기가 화면에 띄워져 있는 경우에도

[ None ]이 출력되는 경우가 있습니다.

이럴 경우 아래와 같이 openve-python을 설치해 보세요

pip install opencv-python

 

◆ 찾은 이미지 클릭하기

btn_find 에는 이미지의 영역이 들어가 있습니다.

클릭하기 위해서는 특정 좌표를 얻어야 합니다.

클릭하기 위한 좌표로 해당 이미지의 가운데 좌표를 얻어보겠습니다.

center = pyautogui.center(btn_find)

위와 같이 작성하고 print(center)를 해보면 이미지의 가운데 좌표값이 보여집니다.

다음은 해당 이미지를 클릭해보겠습니다.

pyautogui.click(center)

이제 계산기의 [ 9 ]를 누르는 코드가 모두 작성되었습니다.

다음은 전체 코드입니다.

import pyautogui

btn_find = pyautogui.locateOnScreen("9.png")

center = pyautogui.center(btn_find)

pyautogui.click(center)

실행하면 다음과 같이 자동으로 클릭한 것을 보실 수 있습니다.

실행전 과 실행 후

◆ 참고사항

pyautogui.locateOnScreen() 함수는 주 모니터에서만 작동을 합니다.

듀얼모니터를 사용하실 경우 

다른 방법을 사용해야합니다.

 

728x90
반응형
LIST