[RPA] 데스크탑UI - 그림판 실행 후 글자 작성 후 자동 종료

2021. 8. 2. 17:43·Tools/RPA
YouTube 나도코딩님의 동영상을 보면서 공부한 내용입니다.
부족한 내용이나 잘못된 내용은 댓글남겨주시면 감사하겠습니다!
출처 : https://www.youtube.com/channel/UC7iAOLiALt2rtMVAWWl4pnw

Quiz) 아래 동작을 자동으로 수행하는 프로그램을 작성

1. 그림판 실행 (단축키 : win + r , 입력값 : mspaint) 및 최대화

2. 상단의 텍스트 기능을 이용하여 흰 영역 아무 곳에다가 글자 입력

- 입력 글자 : "참 잘했어요"

3. 5초 대기 후 그림판 종료

   이때, 저장하지 않음을 자동으로 선택하여 프로그램이 완전 종료되도록 함


1. 그림판 실행

# 1. 그림판 실행
pyautogui.hotkey("win", "r") # 단축키 : win + r 입력
pyautogui.write("mspaint") # 프로그램 명 입력
pyautogui.press("enter") # 엔터 키 입력

# 그림판 나타날 때까지 2초 대기
pyautogui.sleep(2)

# 그림판 최대화하기 위해 윈도우로 가져오기.
window = pyautogui.getWindowsWithTitle("제목 없음 - 그림판")[0]
if window.isMaximized == False: # 만약 최대화가 되어 있지 않다면
    window.maximize() # 최대화

 

2. 상단의 텍스트 기능을 이용하여 흰 영역에 "참 잘했어요" 입력

# 글자 버튼 클릭
btn_text = pyautogui.locateOnScreen("btn_text.png") # 사진의 이미지 찾기
if btn_text: #이미지를 찾아서 btn_text가 True가 되면
    pyautogui.click(btn_text, duration=0.5)  # 그 이미지를 클릭
else:
    print("찾기 실패") # 없으면 찾기 실패 문구 띄운 후 프로그램 종료
    sys.exit()

# 흰 영역 클릭
# pyautogui.click(200,200, duration=0.5) # 흰 영역 아무 곳 클릭

# 만약 이미지가 계속해서 변한다면 안 변하는 이미지를 기준으로 상대 좌표를 줘서 선택 가능
btn_brush = pyautogui.locateOnScreen("btn_brush.png")
pyautogui.click(btn_brush.left - 200, btn_brush.top + 200)

# 한글 작성 - 클립보드로 저장해서 붙이는 함수로 작성
def my_write(text):
    pyperclip.copy(text)
    pyautogui.hotkey("ctrl", "v")

my_write("참 잘했어요")

 

3. 5초 대기 후 그림판 종료

# 3. 5초 대기 후 그림판 종료
# 5초 대기
pyautogui.sleep(3)

# 프로그램 종료
window.close()

# 저장 안함 선택
pyautogui.sleep(0.5) # 팝업이 늦게 뜰 가능성
pyautogui.press("n") # 저장하지 않음

 

# 12_quiz.py

# Quiz) 아래 동작을 자동으로 수행하는 프로그램을 작성

# 1. 그림판 실행 (단축키 : win + r , 입력값 : mspaint) 및 최대화

# 2. 상단의 텍스트 기능을 이용하여 흰 영역 아무 곳에다가 글자 입력
# - 입력 글자 : "참 잘했어요"

# 3. 5초 대기 후 그림판 종료
#  이때, 저장하지 않음을 자동으로 선택하여 프로그램이 완전 종료되도록 함


import sys
import pyautogui
import pyperclip #어떤 문장을 클립보드에 집어넣음

# 1. 그림판 실행
pyautogui.hotkey("win", "r") # 단축키 : win + r 입력
pyautogui.write("mspaint") # 프로그램 명 입력
pyautogui.press("enter") # 엔터 키 입력

# 그림판 나타날 때까지 2초 대기
pyautogui.sleep(2)

# 그림판 최대화하기 위해 윈도우로 가져오기.
window = pyautogui.getWindowsWithTitle("제목 없음 - 그림판")[0]
if window.isMaximized == False: # 만약 최대화가 되어 있지 않다면
    window.maximize() # 최대화

# 2. 상단의 텍스트 기능을 이용하여 흰 영역에 "참 잘했어요" 입력
# 글자 버튼 클릭
btn_text = pyautogui.locateOnScreen("btn_text.png") # 사진의 이미지 찾기
if btn_text: #이미지를 찾아서 btn_text가 True가 되면
    pyautogui.click(btn_text, duration=0.5)  # 그 이미지를 클릭
else:
    print("찾기 실패") # 없으면 찾기 실패 문구 띄운 후 프로그램 종료
    sys.exit()

# 흰 영역 클릭
# pyautogui.click(200,200, duration=0.5) # 흰 영역 아무 곳 클릭

# 만약 이미지가 계속해서 변한다면 안 변하는 이미지를 기준으로 상대 좌표를 줘서 선택 가능
btn_brush = pyautogui.locateOnScreen("btn_brush.png")
pyautogui.click(btn_brush.left - 200, btn_brush.top + 200)

# 한글 작성 - 클립보드로 저장해서 붙이는 함수로 작성
def my_write(text):
    pyperclip.copy(text)
    pyautogui.hotkey("ctrl", "v")

my_write("참 잘했어요")

# 3. 5초 대기 후 그림판 종료
# 5초 대기
pyautogui.sleep(3)

# 프로그램 종료
window.close()

# 저장 안함 선택
pyautogui.sleep(0.5) # 팝업이 늦게 뜰 가능성
pyautogui.press("n") # 저장하지 않음

 

'Tools > RPA' 카테고리의 다른 글

[RPA] 웹 - XPath  (0) 2021.08.05
[RPA] 웹 - HTML  (0) 2021.08.02
[RPA] 데스크탑UI - 파일시스템  (0) 2021.07.31
[RPA] 데스크탑UI - 윈도우, 키보드, 메시지박스, 로그  (0) 2021.07.29
[RPA] 데스크탑UI - 스크린, 이미지처리, 이미지처리(속도개선), 이미지처리(대기)  (0) 2021.07.29
'Tools/RPA' 카테고리의 다른 글
  • [RPA] 웹 - XPath
  • [RPA] 웹 - HTML
  • [RPA] 데스크탑UI - 파일시스템
  • [RPA] 데스크탑UI - 윈도우, 키보드, 메시지박스, 로그
min_sol
min_sol
  • min_sol
    비글개발연구소🐾
    min_sol
  • 전체
    오늘
    어제
    • 분류 전체보기 (278)
      • Programming (128)
        • Algorithm (52)
        • JAVA (40)
        • GIS (5)
        • PyQt (10)
        • C# (11)
        • Mobile (6)
        • AI (4)
      • Backend (36)
        • Spring (14)
        • JSP (11)
        • Network (5)
      • Frontend (29)
        • React (11)
        • Vue (13)
        • Next.js (4)
      • Database (10)
        • PostgreSQL (1)
        • Oracle (8)
        • Elasticsearch (1)
      • DevOps (8)
        • Linux (7)
        • Mac (1)
      • Tools (31)
        • IntelliJ (1)
        • GitHub (10)
        • RPA (20)
      • Security (9)
      • etc (21)
        • ERROR (5)
        • 세미나 | 교육 (10)
        • 자격증 (1)
        • 일상 (2)
        • 2021 (2)
  • 인기 글

  • 태그

    알고리즘
    Java
    jsp
    자바
    스윙
    코딩테스트
    RPA
    명품자바에센셜
    이클립스
    PyQt
    spring
    VUE
    백준
    계산기
    자료구조
    vue.js
    자동화
    연습문제
    PyQt5
    생능출판
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
min_sol
[RPA] 데스크탑UI - 그림판 실행 후 글자 작성 후 자동 종료
상단으로

티스토리툴바