
pyautogui 매크로 만들기 소개
pyautogui 매크로 만들기 사용법 기초를 알아본다. pyautogui는 파이썬 유저들에게 매크로 라이브러리로서 가장 사랑받은 패키지이다. 기본적으로 매크로라는 것은 컴퓨터 작업을 컴퓨터로 하여금 일을 시키는 프로그램을 말한다. 최근에는 오토핫키가 가장 많은 사랑을 받고 있는데, 파이썬 사용자들은 pyautogui 매크로 를 이용하여 경우에 데이터를 처리하고 매크로를 사용하는 법을 한번 알아두면 컴퓨터에서 많은 시간을 보내는 사람들은 업무효율을 극대화할 수 있다.
설치 – installation
기본 기능
기본적으로 매크로라는 것은 모니터 화면에 특정 부위를 읽고 (캡처, 스크린샷) 마우스로 특정 위치를 클릭을 하고 키보드 타이핑을 하는 것을 기본으로 한다. 이 세가지만 기본기능을 먼저 충실히 알아두어야 한다.
pyautogui.size()
pyautogui.position()
pyautogui.onScreen(x, y)
마우스
pyautogui.moveTo(x, y)
pyautogui.dragTo(500, 500, duration=0.5)
pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button='left')
pyautogui.rightClick(x=moveToX, y=moveToY)
pyautogui.middleClick(x=moveToX, y=moveToY)
pyautogui.doubleClick(x=moveToX, y=moveToY)
pyautogui.tripleClick(x=moveToX, y=moveToY)
pyautogui.mouseDown(x=moveToX, y=moveToY, button='left')
pyautogui.mouseUp(x=moveToX, y=moveToY, button='left')
키보드
pyautogui.typewrite('Hello world!\n', interval=secs_between_keys)
pyautogui.hotkey('ctrl', 'c')
pyautogui.hotkey('ctrl', 'v')
pyautogui.keyDown('backspace')
pyautogui.keyUp('backspace')
메시지 기능
pyautogui.alert('경고창 메세지 적는 곳')
vars = pyautogui.confirm('확인 또는 취소를 눌러보세요~~~')
vars = pyautogui.prompt('문자를 적어보세요~')
스크린샷 (screenshot)
pyautogui.screenshot('foo.png')
temp = pyautogui.locateOnScreen('temp.png')
centerxy = pyautogui.center(temp)
pyautogui.click(centerxy)
centerxy = pyautogui.locateCenterOnScreen('temp.png')
이상 pyautogui 매크로 사용법 기초를 알아보았고 보다 자세한 내용은 개별 글 발행하여 링크를 걸어두겠다. 원하는 내용의 글이 있는지는 pyautogui 카테고리를 확인하면 된다.
윈도우창 활성화
pyautogui 패키지를 벗어나지만 매크로를 만들 때 꼭 필요한 부분이라 추가한다. 매크로를 사용하다보면 특정 윈도우창을 활성화시켜야 할 때가 있다. 다음과 같이 하면 된다.
import pygetwindow as gw
win = gw.getWindowsWithTitle('Chrome')[0]
win.activate()
if win.isActive == False:
pywinauto.application.Application().connect(handle=win._hWnd).top_window().set_focus()
win.activate()
pyautogui.click(win.center)
pyautogui.click(win.left, win.top)
pyautogui.click(win.left+50, win.top+50)
파이오토구이 이미지 캡춰기능으로 방문하고자 하는 싸이트의 메뉴를 선택해서 클릭하는데 까지는 되었는데 로그인을 위해서 팝업창이 뜰때 팝업창의 아이콘을 이미지 캡춰해서 클릭하려고 하니 작동하지가 않는데 이런경우 어떻게 하면 되나용?
웹에서 특정 엘리먼트를 클릭하고 싶으신 경우에는 pyautogui 도 좋고 셀레니움으로 좌표를 구할 수도 있습니다. 물론 자바스크립트가 잘 작동한다면 셀레니움의 함수로 클릭하셔도 됩니다.
혹시 좌클릭을 꾹 누르고 있을때 계속클릭이되고, 마우스를 그만 꾹누를시 클릭을 멈추는 코드는 없을까요?
안녕하세요! 정말 도움이 많이 됐습니다.
여쭤보고 싶은 부분이 있는데 혹시 메일 주소 좀 알 수 있을까요?