UiPath

[UiPath] Data Scraping 여러 페이지 스크랩 시 '다음' 버튼이 없을 때

HeraPro 2020. 5. 29. 18:01
반응형


Data Scraping 여러 페이지 스크랩 시 아래와 같이 '다음'버튼이 존재하지 않는 경우 처리하기.




1. 페이지 번호만 존재하는 경우


- 수동으로 채워주어야 한다.



1. UiElement 객체 생성

2. 페이지 넘버 변수 1로 초기화




1. while Activity 

pageUi 변수가 Nothing일 때까지 루프를 돌려준다.


2. pageUi = Nothing

3,4. pageNum이 1일 경우 (= 1page) 페이지를 넘기지 않고 바로 스크랩

1이 아닐 경우 페이지 이동 후 스크랩



click Activityd의 편집기에서 페이지 넘버가 적혀있는 속성을 pageNum 변수로 바꿔준다.

해당부분 커서올리고 오른쪽클릭 > 변수입력



5. 데이터스크랩핑을 시작한다.

한페이지만 스크랩핑하기.



1.pageNum +1

2. Send Hotkey Activity를 이용하여 페이지넘버 Element가 있는 곳까지 스크롤 다운을 해준다.

3. 크롬의 경우 노트북기준 Shift1+End키를 누르면 가장아래로 감.




Find Element Activity로 다음 페이지 번호를 찾는다.

편집기에 페이지번호 부분을 pageNum 변수로 넣어주기 (아래사진)



Properties 에서 ContinueOnError 부분 체크 (못찾아도 에러나지않고 지나가도록)



그리고 출력 부분에 

pageUi 변수를 넣어준다.






다음 페이지번호 UiElement를 찾으면 루프를 돌고

못찾으면 빠져나오도록 수동으로 만들어보았따.


마지막은 스크래핑한 자료를 엑셀파일에 저장하기 

끝.







2. 페이지 이동 없이 스크롤로 되어있는 경우


(스크롤이 내리면 계속 생기는 방식)



Send Hotkey Activity를 이용하여 스크롤을 내려주면서 스크랩핑.

원하는 만큼 루프돌려주기.


예제 할만한 사이트를 못찾아서 못해보는게 아쉽다..


스크롤을 원하는 카운트 만큼 잡아서 루프를 돌려도 되고

원하는 데이터(Row) 갯수가 채워질 때까지 루프를 돌릴 수 있을 것 같다.



스크롤로 내리면서 스프랩핑을 하게되면 중복값이 생길 수 있어

루프를 빠져나온 후

Remove Duplicate Rows Ativity를 통해 중복값을 없애주어야 한다.





3. 완전 수동으로 가져오기







반응형