제가 생각하는 단순한 RPA는 크게 3부분으로 구분되는거 같습니다. 첫번재는 오피스 관련, 두번째는 웹 브라우저 관련, 세번째는 윈도우 어플리케이션 관련입니다. (구지 하나 더 추가한다면 이메일정도)
PAD는 오피스 지원이 좀 미비합니다. Excel뿐이 없고 그 마저도 값을 읽고 쓰는 정도만 지원해서 같은 회사에서 만든게 맞나 싶을 정도입니다. 오피스 관련 세세한 컨트롤을 원한다면 차라리 python 패키지들을 이용하는 편이 더 좋은거 같습니다. (솔직히 python이 더 구현하기 쉽습니다.)
이제 웹브라우저 컨트롤을 다루려 합니다. 웹브라우저 관련 RPA는 별다른게 없습니다. 간단합니다. 이번글 혹은 다음글까지는 기본적인 웹 브라우저 RPA를 살펴보고 그 다음은 웹 브라우저와 오피스를 연계하는 내용을 살펴보도록 하겠습니다.
이번 글에서는 새로운 브라우저를 열어 네이버로 이동, 로그인을 하고 증권 페이지로 이동하는 프로세스로 마무리 하겠습니다.
+새 흐름을 통해 새로운 프로젝트를 생성하고 좌측 메뉴 웹 자동화 > 새 Microsoft Edge 시작을 끌어와 배치합니다. 다음으로 이니셜 URL은 네이버, 창 상태는 최대화로 선택하고 저장합니다.
먼저 브라우저는 좌측 메뉴 보면 지원하는 브라우저 종류가 있습니다. 원하는 브라우저 쓰면 되는데 보통 웹 자동화할 대는 Chrome을 많이 씁니다. 저도 Chrome를 쓰는데 개인적인 것들이 너무 많아 여기서는 Edge로 구현 했습니다. (여기서는 큰 차이 없습니다. 또한 처음 설치 시 Chrome, Edge 확장팩 모두 설치 했습니다.)
바로 테스트를 위해 실행 버튼을 클릭합니다. 새로운 브라우저가 시작되고 바로 네이버 페이지로 이동됩니다.
테스트를 위해 로그오프 상태여야 합니다. 만약 자동로그인이 되어 있다면 로그오프 해주시고 또한 2차 인증이 걸려 있다면 먼저 로그인해서 해당 브라우저에서 2차인증 패스하도록 설정해주시기 바랍니다.
먼저 테스트를 진행한 목적은 창이 띄워져 있는 상태에서 작업을 할 수 있기 때문입니다. 창을 끄지 마세요.
이제 우측에 있는 NAVER 로그인 버튼을 클릭해서 로그인 화면으로 넘어가야 합니다. 좌측 메뉴 웹 자동화 > 웹 페이지에서 링크 클릭을 끌어와 배치하고 UI요소 드롭 다운을 선택한 다음 UI요소 추가를 클릭합니다.
그러면 세션 추척 중이란 화면이 활성화 되고 이 상태에서 네이버 화면으로 돌아가 ctrl 버튼을 누를 상태에서 NAVER 로그인 버튼을 왼쪽 마우스 버튼으로 클릭합니다.
그러면 세션 추적 중 화면에 해당 링크의 패스값이 저장되며 완료 버튼을 클릭합니다.
그렇게 되면 아래와 같은 플로어가 완성되는데 이는 브라우저를 시작해서 네이버로 이동한 다음 NAVER 로그인 버튼을 클릭하라는 내용입니다.
기존 브라우저를 종료 시키고 다시 상단 실행 버튼을 클릭하면 브라우저가 시작되고 네이버로 이동한 다음 로그인 버튼이 클릭되어 로그인창으로 이동되는 것을 확인할 수 있습니다.
다음으로 로그인 아이디와 비밀번호를 입력해야 합니다. 좌측 메뉴 웹 자동화 > 웹 양식 채우기 > 웹 페이지의 텍스트 필드 채우기를 끌어와 배치하고 UI요소 드롭 다운을 클릭한 다음 UI요소 추가를 클릭합니다.
다시 로그인 화면으로 돌아와 ctrl을 누를 상태에서 아이디 필드를 왼쪽 마우스 버튼으로 클릭합니다. 그러면 세션 추적 중 화면에 해당 패스가 저장되고 완료 버튼을 클릭합니다.
다시 PAD화면으로 돌아오면 바로 저장을 해도 되지만 몇가지 옵션을 살펴보겠습니다.
입력 에뮬레이트가 기본적으로 활성화 되어 있는데 활성화는 요소에 텍스트를 자동으로 입력할 때 한 글자씩 넣는다는 옵션이고 이 옵션이 해제 되어 있으면 요소에 텍스트 값을 한번에 쓰게 됩니다.
그리고 중요한 옵션 중에 하나가 페이지가 로드될 때까지 대기입니다. 자동화를 하다보면 속도가 너무 빨라 웹 응답 속도가 못따라가게 되어 정상적인 프로세스가 이루어지지 않을때가 있습니다. 예를들면 페이지를 이동해서 어떤 요소를 클릭하라고 했는데 페이지 이동 후 페이지 로딩이 끝나기 전에 다음 액션이 이루어지면 로딩 전이기 때문에 해당 요소가 없어 프로세스가 그냥 끝나버리게 됩니다. 이런 현상을 방지하게 위해 로드가 끝날 때까지 다음 프로세스를 진행하지 않고 대기하는 옵션을 적절히 주어야 합니다.
웹 자동화는 HTTP 프로토콜 특성상 응답 속도와 관련이 있기 때문에 자동화 작성 시 중간중간 테스트를 진행하여 다른 영향이 없는지 항상 체크해야 합니다.
이제 저장을 클릭하고 테스트를 진행해봅니다.
다음으로 비밀번호 필드에 값을 넣어야 합니다. 위 아이디 처리와 동일하게 합니다. 좌측 메뉴 웹 자동화 > 웹 양식 채우기 > 웹 페이지의 텍스트 필드 채우기를 끌어와 배치하고 UI요소 드롭 다운을 클릭한 다음 UI요소 추가를 클릭하고 ctrl을 누를 상태에서 비밀번호 필드를 클릭한 다음 완료을 클릭합니다.
다시 작업창으로 돌아와서 이번에는 비밀번호 필드이기 때문에 혹시 모를 유출을 방지하고자 텍스트의 옵션을 직접 민감한 텍스트 입력으로 변경해줍니다. 그렇게 하면 비밀번호 필드는 입력해도 ***으로 표시되고 보이지 않습니다. 그리고 저장합니다.
이제 로그인 버튼을 눌러야 합니다. 좌측 메뉴 웹 자동화 > 웹 페이지에서 링크 클릭을 끌어와 배치하고 UI요소 추가를 통해 아래 그림과 같이 로그인 버튼을 추가합니다.
이제 테스트를 해보면 로그인까지 정상적으로 완료됨을 확인할 수 있습니다.
이제 네이버 상단 메뉴 중 증권 링크를 클릭하도록 하겠습니다. 마찬가지로 좌측 메뉴 웹 자동화 > 웹 페이지에서 링크 클릭을 끌어와 배치하고 UI요소 추가를 통해 증권 UI요소를 추가합니다.
이제 모두 완료 되었으며 상단 메뉴 실행버튼을 클릭해서 실행하면 로그인하고 증권 페이지까지 가는 것을 확인할 수 있습니다.
'RPA > Power Automate Desktop' 카테고리의 다른 글
[Power Automate Desktop] 기업 시가총액 순위, 엑셀 저장 (Simple Version) (0) | 2021.06.17 |
---|---|
[Power Automate Desktop] 동적 웹 페이지 스크롤 내리기 (0) | 2021.06.17 |
[Power Automate Desktop] 엑셀 수정 및 새 시트 복사 (0) | 2021.06.15 |
[Power Automate Desktop] 엑셀 자동 생성 및 파일 저장 (0) | 2021.06.14 |
[Power Automate Desktop] 간단 예제 (2편) (0) | 2021.06.13 |