특수한 환경에서 개발해야하는 경우가 반드시 생긴다.
셀렉터도 안먹고, 그렇다고 해서 DT 스크래핑도, OCR도 정상적으로 돌아가는 것도 아니다.
다른 경우의 수가 다 먹히지 않는다면, Image를 이용해서 개발해야한다.
하지만, 예외 상황에 대한 경우의 수가 많아질 수 있고, 머신의 해상도나 배율이 개발PC 환경과 달라지면
............작동이 전혀 안될 수 있다................... ㅠㅠ ......................
그런 점을 유의해서 여러가지 상황에 대한 예외처리도 잘 하고 한다면 문제 없이 사용 할 수 있을 것 같다.
Image 관련 Activity
액티비티 이름만 봐도, 사용용도가 무엇인지, 어떻게 사용해야하는지 감이 오는.. ㅋㅋ
위 Image 관련 액티비티들을 보면 기존의 액티비티에서 사용하고 있는 것들이 많아서 사용용도는 똑같다고 보면 된다.
이러한 Image 액티비티를 사용하기 위해서는 속성 값을 잘 파악해두면 좋다.
Image Activity 속성
Image에 관련된 속성들을 보면 Input은 공통으로 가지고 있는 속성이다.
속성 이름 | 설명 |
Accuracy | 이미지를 찾는데 정확성을 나타낸다. 속성 값의 범위는 0~1 1 로 작업할 경우, 잡아둔 이미지가 완전히 동일하지 않으면 인식하지 못한다 !! 기본값은 0.8이어서, 더 정확도를 높이고자 한다면 0.9 정도가 적당할 수 있다. |
Image | 이미지 값을 설정하는 속성이다. 이미지 변수만 지원한다. InArgument<Image> |
Profile | ImageFindProfile.Basic ImageFindProfile.Enhanced 이 속성에 대한 두가지 설정값이 있는데, Basic 은 기본 값으로 설정되어있다. Basic을 사용하면 그냥 기본만큼 한다고 생각하면 되겠고, Enhanced를 사용하면 리소스를 더 잡아먹으면서 디테일하게 잡는다..고... UiPath Document에 나와있지만 써보면 그닥... 그냥 똑같던데 내가써서그런가 |
위의 속성값과 timeout 값을 잘 조절하다보면, 하나도 못잡던 것도 더 정확하고 빠르게 잡을 수 있게 된다.
예를 들어서, 정확도를 약간 높이면서 timeout 시간을 짧게 설정하고 retryscope를 돌리면서 말이다.
그러면 실행하는 동안에 여러번 수행을 하면서 보다 정확하게 에러가 나지 않고 잡을 수 있게 된다.
정해진 영역 내에서 Image 잡아오기
저건 내가 잡아오려는 Image를 찾을 범위를 설정해준다.
최대한 이미지를 잘 잡을 수 있도록 범위를 설정해두고 그 안에서 찾는다면, 더 효과적으로 엘리먼트를 찾을 수 있다.
그래도.. 되도록이면 Image 안쓰는 방향으로...!
** 참조 URL
https://docs.uipath.com/activities/docs/ui-automation-ui-automation
'프로그래밍 > RPA' 카테고리의 다른 글
Window Schedule, 작업 스케줄을 이용한 UiPath Robot 실행 (0) | 2020.10.12 |
---|---|
"", Empty, Nothing, Null, vbNullChar, vbNullString, Missing 차이점 (0) | 2020.06.22 |
Exception의 종류와 발생조건 (2) | 2020.06.05 |
백그라운드 프로세스 체크하기 (0) | 2020.06.02 |
Write data horizontal 셀 한개씩 가로로 쓰기 / 엑셀 컬럼 인덱스 구하기 (0) | 2020.06.01 |