출처 : UiPath Academy
Practice 3 - Data Scraping & UI Elements
"Extracting data from ACME"
ACME 카탈로그 페이지에서 데이터 추출 작업을 자동화하는 프로세스를 만든다.
- 페이지에서 IE Browser를 연다.
- Data Scrape Wizard를 사용하여 모든 페이지의 구성요소에서 제목 및 설명을 추출한다.
- 추출한 데이터를 CSV파일로 저장한다.
- Browser를 닫는다.
📌 기존 Practice 설정방법
- 프로젝트를 Sequence로 시작하고 주석을 넣는다.
- 'acmeURL'이라는 이름으로 String변수를 정의하고 기본값에는 "https://acme-test.uipath.com/account/login"을 적는다.
- Open Browser activity를 사용하고 URL 속성의 경우 전 단계에서 생성한 변수(acmeURL)를 사용한다.
Inside the Container :- Maximize Window activity를 끌어다 놓는다.
- Data Scraping을 시작하기 전에 Find Element activity를 사용하여 실행 시(at runtime) 페이지가 로드되었는지 확인한다. Indicate on Screen을 사용하여 웹 페이지의 첫 번째 카탈로그 항목을 표시한다.
- 이 페이지에서 데이터를 추출하는 wizard를 사용하려면 UiPath Studio에서 Data Scraping버튼을 클릭한다.
- 첫 번째 요소('GoogleGSuite')의 제목을 지정하고 다음(Wizard window)을 클릭한 다음 'Abbyy - Flexicapture Connector'를 표시한다. 그런 다음 열 : Extract URL을 선택하고 열 이름을 "Title"(Column1 대신) 및 "URL"(Column2 대신)으로 변경한다.
- Extract Correlated Data을 클릭하고 화면에 'GoogleGSuite' 설명을 표시하고, 다음(Wizard window)을 클릭하고 'Abbyy - Flexicapture Connector' 설명을 표시한다. 열 이름을 "Description"으로 변경한다.
- Data Scraping Sequence에서 생성된 'Extract Structured Data' activity를 'Open Browser' Scope(범위)으로 이동한다.(Ctrl + C 및 Ctrl + V 사용)
변수 'ExtractDataTable'의 Scope(범위)을 'Data Scraping'에서 'AcmeCatalogSequence'로 변경한다. 사용하지 않는 'Data Scrapng' sequence를 삭제한다.
- Write CSV activity를 끌어다 놓고 파일 이름("AcmeCatalog.csv") 및 데이터 테이블 이름("ExtractDataTable")을 구성한다.
- Close Tab activity을 drag and drop하고 workflow를 저장하고 실행한다.
ACME 테스트 페이지의 Catalog를 찾지 못해, Vendors > Vendor Inventory의 표를 csv 파일로 저장하는 방법으로 변경하여 진행하였다.
📌 설정방법
- 프로젝트를 Sequence로 시작하고 주석을 넣는다.
- 'acmeURL'이라는 이름으로 String변수를 정의하고 기본값에는 "https://acme-test.uipath.com/account/login"을 적는다.
- Open Browser activity를 사용하고 URL 속성의 경우 전 단계에서 생성한 변수(acmeURL)를 사용한다.
Inside the Container :- Find Element activity를 사용하여 실행 시(at runtime) 페이지가 로드되었는지 확인한다. Indicate on Screen을 사용하여 웹 페이지의 'Dashboard'를 표시한다.
- Click activity를 사용하여 Vendors 메뉴를 클릭한다. 또 다른 Click activity를 사용하여 Vendor Inventory를 클릭한다.
- Find Element activity를 사용하여 Indicate on Screen을 사용하여 웹페이지의 Vendors - Vendor Inventory를 표시하여 페이지가 로드되었는지 확인한다.
- Click activity를 사용하여 'Check Inventory' 버튼을 클릭한다. (이 사이에 Select Option을 통해 선택하는 과정을 추가하면 더 좋을 것 같다)
- Data Scraping Wizard를 사용하여 로드 된 표를 scraping 한다. Data Scraping Sequence에서 생성된 'Extract Structured Data' activity를 'Open Browser' Scope(범위)으로 이동한다.(Ctrl + C 및 Ctrl + V 사용)
변수 'ExtractDataTable'의 Scope(범위)을 'Data Scraping'에서 'Sequence'로 변경한다. 사용하지 않는 'Data Scrapng' sequence를 삭제한다.
- Write CSV activity를 끌어다 놓고 파일 이름("VendorTable.csv") 및 데이터 테이블 이름("ExtractDataTable")을 구성한다.
- Close Tab activity을 drag and drop하고 workflow를 저장하고 실행한다.
1.1 Sequence (Sequence)
Private = False
Variables
acmeURL(String)
ExtractDataTable(DataTable)
Activities
1.3 Open Browser (OpenBrowser)
Url = acmeURL
Private = False
Body
1.4 Do (Sequence)
Private = False
Activities
1.15 Find Element 'Dashboard' (WaitUiElementAppear)
Target
Selector = <webctrl idx='1' tag='H1' />
ResultType = UiPath.Core.UiElement
Private = False
1.5 Click 'Vendors' (Click)
KeyModifiers = None
CursorPosition
Position = Center
ClickType = CLICK_SINGLE
MouseButton = BTN_LEFT
Target
Selector = <webctrl aaname='Vendors' parentid='dashmenu' tag='BUTTON' />
Private = False
1.5 Click 'Vendor Inventory' (Click)
KeyModifiers = None
CursorPosition
Position = Center
ClickType = CLICK_SINGLE
MouseButton = BTN_LEFT
Target
Selector = <webctrl aaname='Vendor Inventory' parentid='dashmenu' tag='A' />
Private = False
1.5 Find Element 'Vendors - Vendor Inventory' (WaitUiElementAppear)
Target
Selector = <webctrl tag='H1' />
ResultType = UiPath.Core.UiElement
Private = False
1.5 Click 'BUTTON buttonOrder' (Click)
KeyModifiers = None
CursorPosition
Position = Center
ClickType = CLICK_SINGLE
MouseButton = BTN_LEFT
Target
Selector = <webctrl id='buttonOrder' tag='BUTTON' />
Private = False
1.6 Extract Structured Data 'TABLE' (ExtractData)
ExtractMetadata = <extract-table get_columns_name='1' get_empty_columns='1' columns_name_source='Longest' />
MaxNumberOfResults = 100
DataTable = ExtractDataTable
SimulateClick = True
Target
Selector = <webctrl tag='TABLE' />
WaitForReady = COMPLETE
ContinueOnError = True
Private = False
1.6 Write CSV (WriteCsvFile)
AddHeaders = True
FilePath = VendorTable.csv
DataTable = ExtractDataTable
Delimiter = Comma
Private = False
1.6 Close Tab (CloseTab)
Private = False
반응형
'UiPath > UiPath Practice' 카테고리의 다른 글
UI Interactions : Practice 2 - Output Actions & Methods (0) | 2020.11.10 |
---|---|
UI Interactions : Practice 2 - Output Actions & Methods (0) | 2020.11.10 |
UI Interactions : Practice 1 - Input Actions & Methods (0) | 2020.11.09 |
UI Interactions : Demo - Working with UI elements (0) | 2020.11.05 |
UI Interactions : Demo2 - Data Scraping (0) | 2020.11.04 |
댓글