반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

오늘은 엑셀이나 웹브라우저처럼 파이썬 전용 패키지가 없어서 조작을 할 수 없는 경우에 아주 유용한 PyAutoGUI라는 패키지에 대해서 배워보겠습니다.

 

저는 회사에서 SAP사의 ERP(Enterprise Resource Planning)를 사용하는데, 이걸 자동화 시키려고 하니깐 무료로 제공하는 API가 없어서 고민하던 중 해당 패키지를 사용하면 좋겠다는 생각이 들어서 공부해보게 되었답니다.

 

<PyautoGUI 관련 지난 글>

 

2021.06.14 - [파이썬 패키지/사무자동화] - [Python / PyAutoGUI] 파이썬 마우스/키보드 조작 패키지_1편.마우스 조작하기

2021.06.15 - [파이썬 패키지/사무자동화] - [Python / PyAutoGUI] 파이썬 마우스/키보드 조작 패키지_2편.키보드 조작하기(ft.한글 입력 방법)

2021.06.19 - [파이썬 패키지/사무자동화] - [Python / PyAutoGUI] 파이썬 마우스/키보드 조작 패키지_3편.원하는 이미지를 찾아서 클릭하기

 

 

오늘은 지난 시간에 이어서 작동중에 사용자의 확인이 필요하거나 문자 혹은 패스워드를 입력 받아야 하는 경우에 대처할 수 있는 메세지 박스 기능에 대해 배워보겠습니다.

 


 

알림창 띄우기 (OK)

: alert( )

 

가장 기본적인 알림을 띄워보겠습니다. 

 

import pyautogui

pyautogui.alert('코딩유치원 자주 찾아와주세요.')

 

OK 하신겁니다~

 

alert( ) 함수에는 어떤 파라미터가 있는지 한 번 보겠습니다.

 

파라미터 (자료형) 입력값 기본값
text (str) 원하는 메시지 X
title (str) 창 제목 X
button (str) 원하는 버튼 이름
(bool) True/False
OK
timeout (int) msecond (단위: 1/1000초) None (시간제한 없음)

 

alert( ) 함수의 버튼을 클릭하거나 종료하면는 위에서 설정했던 버튼 이름을 문자열로 리턴해줍니다.

만약 timeout을 설정하셨다면 설정한 시간이 끝나고 timeout을 문자열로 리턴해줍니다.

 

아래의 예제 코드를 실행하셔서 어떻게 작동하는지 확인해보세요.

alert = pyautogui.alert('코딩유치원 자주 찾아와주세요.', title='코딩유치원', button='확인', timeout = 3000)

print(alert)

 

 

확인창 띄우기 (OK / Cancel)

: confirm( )

 

위에서 배운 알림창과 다른 것은 버튼 2개 중 하나를 선택할 수 있다는 것입니다.

 

import pyautogui

pyautogui.confirm('계속 진행하시겠습니까?')

 

 

confirm( ) 함수도 어떤 파라미터가 있는지 보겠습니다.

 

파라미터 (자료형) 입력값 기본값
text (str) 원하는 메시지 X
title (str) 창 제목 X
buttons (tuple) ('버튼 이름1', '버튼 이름2') OK & Cancel
timeout (int) msecond (단위: 1/1000초) None (시간제한 없음)

 

이 함수 역시 위에서 배운 alert( )와 같이 선택한 버튼의 버튼명을 문자열로 리턴해줍니다.

 

 

텍스트 입력창 띄우기

: prompt( )

 

이번에는 텍스트를 입력받는 것 까지 추가된 창을 띄워보겠습니다.

 

import pyautogui

text = pyautogui.prompt('원하는 메시지를 입력해주세요')

 

 

마찬가지로 설정 가능한 파라미터를 보겠습니다. default 말고는 이미 봤던 친구들이네요.

 

파라미터 (자료형) 입력값 기본값
text (str) 원하는 메시지 X
title (str) 창 제목 X
default (str) 기본적으로 입력창에 입력된 문자열 X
timeout (int) msecond (단위: 1/1000초) None (시간제한 없음)

 

default 옵션이 뭔가 했더니 메시지 입력창에 처음부터 입력되어 있는 메시지였습니다.

 

prompt( ) 함수는 OK 버튼을 누르면 위에서 입력받은 텍스트를 문자열로 리턴해주며, Cancel 버튼을 누를 시엔 None을 리턴해줍니다.

 

 

비밀번호 입력창 띄우기

: password( )

 

이 함수는 위에서 배운 prompt( ) 함수와 같지만 입력 시에 *를 출력하여 보안을 위한 기능을 추가한 함수입니다.

 

 

위의 prompt( ) 함수와 다른 파라미터는 mask 하나입니다. 만약 mask를 '='로 해주면 * 대신에 =으로 출력됩니다.

 

파라미터 (자료형) 입력값 기본값
text (str) 원하는 메시지 X
title (str) 창 제목 X
default (str) 기본적으로 입력창에 입력된 문자열 X
mask (str) 원하는 마스크 기호 *
timeout (int) msecond (단위: 1/1000초) None (시간제한 없음)

 

password( ) 함수는 prompt( ) 함수와 마찬가지로 OK 버튼을 누르면 위에서 입력받은 텍스트를 문자열로 리턴해주며, Cancel 버튼을 누를 시엔 None을 리턴해줍니다.

 

 

오늘 준비한 내용은 여기까지입니다.

 

오늘도 코딩유치원을 찾아주신 모든분들께 감사합니다.


<참고 자료>

 

https://pyautogui.readthedocs.io/en/latest/msgbox.html

 

Message Box Functions — PyAutoGUI documentation

PyAutoGUI makes use of the message box functions in PyMsgBox to provide a cross-platform, pure Python way to display JavaScript-style message boxes. There are four message box functions provided: The prompt() Function >>> prompt(text='', title='' , default

pyautogui.readthedocs.io

 

반응형

+ Recent posts