레이블이 RPA인 게시물을 표시합니다. 모든 게시물 표시
레이블이 RPA인 게시물을 표시합니다. 모든 게시물 표시

2022년 4월 17일 일요일

RPA 관련 툴 비교 pyautogui, pywinauto, RPA-Python

PyAutoGUI


홈페이지

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


용도

마우스와 키보드를 제어하여 다른 응용 프로그램과의 상호 작용을 자동화합니다.


언어

Python


지원 운영체제

Windows

MacOS

Linux


지원 명령

마우스조작

키보드 조작

메세지 박스(출력)

스크린샷(이미지 기반 으로 검색 조작) 기능




pywinauto


홈페이지

https://pywinauto.readthedocs.io/en/latest/


용도

마우스 및 키보드 동작을 Windows 대화 상자 및 컨트롤에 보낼 수 있습니다.


언어

Python


지원 운영체제

Windows


지원 명령

마우스조작

키보드 조작

윈도우 관련 모듈(윈도우 찾기, 실행파일 실행, 클립보드)


장단점

Windows 전용으로 되어 있어서 특정 Caption을 위한 버튼 클릭등 화면 절대 자표를 이용한 클릭을 안해도 됨




RPA-Python


홈페이지

https://github.com/tebelorg/RPA-Python


용도

마우스 및 키보드 동작을 Windows 대화 상자 및 컨트롤에 보낼 수 있습니다.


언어

Python


지원 운영체제

Windows

MacOS

Linux


지원 명령

마우스조작

키보드 조작

WEB

OCR

텔레그램


장단점

TagUI를 기반으로 하는 범용적인 모듈이며 기능이 많음, 인터넷 조작도 포함되어 있음, Windows 관련 조작 모듈이 없으므로 어플간 이동이 많다면 pywinauto 사용 고려 필요합니다.



2020년 5월 31일 일요일

RPA framework 설치해 보기

소개

RPA Framework is a collection of open-source libraries and tools for Robotic Process Automation (RPA), and it is designed to be used with both Robot Framework and Python. The goal is to offer well-documented and actively maintained core libraries for Software Robot Developers.

RPA Framework은 Robotic Process Automation (RPA)를 위한 도구와 오픈소스 라이브러리의 집합 입니다. 그리고 Robot Framework과 Python두개 모두 사용하도록 제작 되었습니다.

설치

pip install rpa-framework


환경 변수 설정

python 3.8 위치와 pip 경로를 설정합니다.

set path=C:\Users\USER\AppData\Local\Programs\Python\Python38\Scripts;C:\Users\USER\AppData\Local\Programs\Python\Python38;%path%


간단한 동작 예제

이 도구는 Robot framework과 python 두가지 예제가 있습니다.

Web 예제시 아래와 같은 에러가 나는 원인은 firefox와 연결 도구인 geckodriver 설치하지 않아서 그렇습니다.
WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

전체적으로 테스트는 크롬으로 진행하였습니다. 그래서 크롬 드라이버를 다운로드 받아서 pip가 있는 폴더에 같이 복사해 둡니다. 
C:\Users\USER\AppData\Local\Programs\Python\Python38\Scripts 이정도의 경로면 적절 합니다. 

크롬 드라이버 위치 



브라우저 예제


Robot framework 소스
1
2
3
4
5
6
*** Settings ***
Library    RPA.Browser

*** Tasks ***
Opening page
    Open Available Browser  https://www.google.fi

rpa.robot 으로 저장

실행 결과
C:\Users\USER\Documents\python\rpa>robot rpa.robot
==============================================================================
Rpa
==============================================================================
4650kb [00:00, 11802.72kb/s]
Opening page                                                          | PASS |
------------------------------------------------------------------------------
Rpa                                                                   | PASS |
1 critical task, 1 passed, 0 failed
1 task total, 1 passed, 0 failed
==============================================================================
Output:  C:\Users\USER\Documents\python\rpa\output.xml
Log:     C:\Users\USER\Documents\python\rpa\log.html
Report:  C:\Users\USER\Documents\python\rpa\report.html

크롬 브라우저가 https://www.google.fi 열면서 종료됩니다.

python 예제

1
2
3
4
5
6
from RPA.Browser import Browser

br = Browser()
br.open_chrome_browser("https://www.google.fi", headless=True)
br.input_text("//input[@name='q']", "robocorp")
br.screenshot(page=True, locator="//input[@name='q']")

Python예제에서는 크롬 브라우저가 열리지 않습니다. headless 모드라고 해서 화면에 보이지 않는 모드입니다.
결과는 screenshot으로 확인 가능합니다. 

그런데 headless=True 이 부분을  제거해도 브라우저는 뜨지만 ui 화면이 나오지 않아 이부분을 어떻게 해결해야 하는지 찾지 못하였습니다.

===> 몇일 후 다시 실행해보니 정상 동작합니다. 아마도 버그가 패치된 듯 싶습니다.