본문 바로가기
자동포스팅

pyautogui 맥(mac)에서 이미지를 못 찾을 때 (locateCenterOnScreen)해결 방법

by 마자동 2022. 3. 29.
반응형

m1 맥북 화면

맥북의 경우 더 큰 픽셀 밀도를 활용하여 더 선명한 이미지를 얻기 위해 화면 픽셀 수가 2배라는 점 때문에 이미지 서칭을 못하고 이상한 곳을 찾곤 한다. 

삽질

openCV (설치방법 : pip install opencv-python)를 설치하면 confidence를 사용할 수 있는데 이걸로 해결할 수 없다. 
※ confidence : 화면에서 이미지를 찾는 정확도를 지정할 수 있음 (confidence = 0.9  : 이미지가 90% 일치하면 ok)

region을 활용하여 범위를 지정하여 서칭하는 것도 먹히질 않는다. 

물론, grayscale을 True로 지정해서 채도를 낮춰 찾는 것도 안됨. 

driver.set_window_size(1440, 900) # 맥북 최대 사이즈 를 2배 늘려도 안됨.

맥북은 캡쳐한 이미지가 2배 크게 저장되는데 이 사이즈의 픽셀을 1/2로 축소해도 안됨. 

해결법

이외로 간단히 해결했다.

import pyautogui

test_1 = pyautogui.locateCenterOnScreen(r'/image/test_image_4.png', confidence=0.9, grayscale=True)
pyautogui.moveTo(test_1.x/2, test_1.y/2)
print(test_1)

이미지 서칭은 제대로 되고 있었는데 좌표의 값만 *2가 되고 있는 상황이라 좌표값을 /2 해주니 정상적으로 내가 서칭하고자 하는 이미지를 클릭했다.

번외로 쿠팡의 경우 pyautogui를 사용하며 클릭해도 봇으로 보지 않더라~ 셀레니움과 적절히 조합하면 괜찮은 스크래핑을 할 수 있겠다.

맥북으로 코딩하려니 넘어야할 암초가 생각보다 많다. 맥북이 아직 익숙하지도 않고~ 그래도 트랙패드의 장점을 놓칠 순 없다....

 
 
 

 

반응형

댓글