pyautogui 라이브러리 사용중 pyautogui.locateOnScreen이 정상동작하지 않을 경우에 대처하는 방법

pyautogui 라이브러리 사용중 pyautogui.locateOnScreen이 정상동작하지 않을 경우에 대처하는 방법.

윈도우 사용자라면 이와 같은 경험은 없을것으로 본다.
하지만 맥 사용자가 화면을 캡쳐해서 사용하려다 보면, 같은 이미지인데 찾을수 없는 현상이 생기곤 한다.

아래 테스트1, 테스트2와 같은 경우이다.
하루 정도 고민을 하며, 집에 돌아오자마자 해보면서 원인을 찾았다.

import pyautogui

# 테스트 1
num7 = pyautogui.locateOnScreen('test.png')
print(num7)

# 결과는 None

# 테스트 2

# 신뢰도를 좀 낮춰야 판단이 가능하다. 이유는? 캡쳐시 사이즈 변경??
img = pyautogui.locateOnScreen('./7.png', confidence=0.8, grayscale = True)
print(img)

나와 같은 고민을 한 맥 유저가 있으신가??
그렇다면 아래와 같은 명령어로 이미지를 캡처한다음에 실행 시켜보도록 하자.
정상으로 이미지를 찾아내는 마법을 볼것이다.

image = pyautogui.screenshot()
image.save('test.png')

원인은 무엇일까?
이미지 사이즈를 비교해보진 않았으나, 맥은 @2x 와 같은 이미지 프로세싱 기술을 사용할것으로 보인다.

귀찮아서 검증은 생략한다.

도움이 되었길.

python lib – pyautogui

본격적인 gui 매크로를 만들기 위해서 사용되는 라이브러리
매크로는 나쁜것만 있는것이 아니다.
자동화 산업의 기본이 되는것이 바로 매크로.

기능은 gui관련 라이브러리로서 마우스 이동등의 제어 하는 라이브러리이다.
해당 좌표로 마우스를 이동해라 등의 기능 사용

설치 방법은 다음과 같다

pip3 install pyautogui

pip3 install pyautogui
Collecting pyautogui
  Downloading https://files.pythonhosted.org/packages/a3/69/c8b0cab7cbc6badbc0079392e5d4b50f3e4be63e0091f0f414bd1ea4ac07/PyAutoGUI-0.9.50.tar.gz (57kB)
     |████████████████████████████████| 61kB 194kB/s 
Collecting pymsgbox (from pyautogui)
  Downloading https://files.pythonhosted.org/packages/ac/e0/0ac1ac67178a71b92e46f46788ddd799bb40bff40acd60c47c50be170374/PyMsgBox-1.0.7.tar.gz
Collecting PyTweening>=1.0.1 (from pyautogui)
  Downloading https://files.pythonhosted.org/packages/b9/f8/c32a58d6e4dff8aa5c27e907194d69f3b57e525c2e4af96f39c6e9c854d2/PyTweening-1.0.3.zip
Collecting pyscreeze>=0.1.21 (from pyautogui)
  Downloading https://files.pythonhosted.org/packages/b7/7d/a0e85da28a96e2ff2f39e682ff84eb92501b564883fde87d92aee29966a2/PyScreeze-0.1.26.

python lib – pyperclip

파이썬에서 클립보드를 사용하는 라이브러리입니다.
사용법은 간단하며, 클립보드에 복사/붙여넣기 기능을 할 수 있는 라이브러리입니다.

사용법은 아래와 같습니다.

pyperclip.copy(문자열 또는 변수)
pyperclip.paste()
pip3 install pyperclip

>>> import pyperclip
>>> pyerclip.copy('hsh copy')
>>> pyperclip.copy('hehe')
>>> pyperclip.paste()
'hehe'
>>> i = '안녕하세요'
>>> pyperclip.copy(i)
>>> pyperclip.paste()
'안녕하세요'

맥에서 pip install error 발생시

파이썬 라이브러리를 설치 하려고 pip 명령어를 사용할것이다.
보통의 사용자들은 윈도우 사용자가 많기 때문에 pip install xxxx를 실행시키라고 할테니까 말이다..

맥에서 pip install xxxx 를 실행하면 아래와 같은 에러가 발생할 것이다.

pip install selenium  
zsh: command not found: pip

맥에서는 pip3를 사용할수 있다.

ip3 install paperclip
Collecting paperclip
  Downloading https://files.pythonhosted.org/packages/6f/6c/e7aade34b79c54034c689f2b5b5ae20f7ac974d28e63f54c06f32e6ca541/paperclip-2.2.4.tar.gz (65kB)
     |████████████████████████████████| 71kB 193kB/s 
Collecting Django (from paperclip)
  Downloading https://files.pythonhosted.org/packages/a9/4f/8a247eee2958529a6a805d38fbacd9764fd566462fa0016aa2a2947ab2a6/Django-3.0.5-py3-none-any.whl (7.5MB)
     |████████████████████████████████| 7.5MB 473kB/s 
중략...

pip을 설치해서 사용할수도 있는데, 굳이…

도움이 되길 바란다.

Python 학습을 시작해보려고 한다.

파이썬으로 의미있는 데이터를 만드는게 목적이였는데.

목적이 약간 변질되어 간다.
지금은 회사에서 학습하는걸 병행하면서, 기초를 쌓을 생각이다.
추후에 실력이 좀 된다면, 누군가가 책을 내보라고 할지도.. 쿨럭

잠깐 꿈을 꿔봤다.
Python 관련 학습 내용을 공유해볼 생각이니..
도움이 될진 모르겠지만, 미약하게나마 도움이 되길 바란다