소개
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 소스
| *** 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 예제
| 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 화면이 나오지 않아 이부분을 어떻게 해결해야 하는지 찾지 못하였습니다.
===> 몇일 후 다시 실행해보니 정상 동작합니다. 아마도 버그가 패치된 듯 싶습니다.