본문 바로가기
UiPath/UiPath Practice

UI Interactions : Practice 3 - Data Scraping & UI Elements

by kimyosunnyc 2020. 11. 10.

출처 : UiPath Academy

Practice 3 - Data Scraping & UI Elements

"Extracting data from ACME"

ACME 카탈로그 페이지에서 데이터 추출 작업을 자동화하는 프로세스를 만든다.

 

  1. 페이지에서 IE Browser를 연다.
  2. Data Scrape Wizard를 사용하여 모든 페이지의 구성요소에서 제목 및 설명을 추출한다.
  3. 추출한 데이터를 CSV파일로 저장한다.
  4. Browser를 닫는다.

📌 기존 Practice 설정방법

  1. 프로젝트를 Sequence로 시작하고 주석을 넣는다.
  2. 'acmeURL'이라는 이름으로 String변수를 정의하고 기본값에는 "https://acme-test.uipath.com/account/login"을 적는다.
  3. 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를 삭제한다.
  4. Write CSV activity를 끌어다 놓고 파일 이름("AcmeCatalog.csv") 및 데이터 테이블 이름("ExtractDataTable")을 구성한다.
  5. Close Tab activity을 drag and drop하고 workflow를 저장하고 실행한다.

ACME 테스트 페이지의 Catalog를 찾지 못해, Vendors > Vendor Inventory의 표를 csv 파일로 저장하는 방법으로 변경하여 진행하였다.


Practice 3 - Data Scraping & UI Elements

📌 설정방법

  1. 프로젝트를 Sequence로 시작하고 주석을 넣는다.
  2. 'acmeURL'이라는 이름으로 String변수를 정의하고 기본값에는 "https://acme-test.uipath.com/account/login"을 적는다.
  3. 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를 삭제한다.
  4. Write CSV activity를 끌어다 놓고 파일 이름("VendorTable.csv") 및 데이터 테이블 이름("ExtractDataTable")을 구성한다.
  5. 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	
반응형

댓글