특수한 환경에서 개발해야하는 경우가 반드시 생긴다.

셀렉터도 안먹고, 그렇다고 해서 DT 스크래핑도, OCR도 정상적으로 돌아가는 것도 아니다.

다른 경우의 수가 다 먹히지 않는다면, Image를 이용해서 개발해야한다.

 

하지만, 예외 상황에 대한 경우의 수가 많아질 수 있고, 머신의 해상도나 배율이 개발PC 환경과 달라지면

............작동이 전혀 안될 수 있다................... ㅠㅠ ......................

그런 점을 유의해서 여러가지 상황에 대한 예외처리도 잘 하고 한다면 문제 없이 사용 할 수 있을 것 같다.

 

 

 

Image 관련 Activity

image 관련 activity

 

액티비티 이름만 봐도, 사용용도가 무엇인지, 어떻게 사용해야하는지 감이 오는.. ㅋㅋ

위 Image 관련 액티비티들을 보면 기존의 액티비티에서 사용하고 있는 것들이 많아서 사용용도는 똑같다고 보면 된다.

이러한 Image 액티비티를 사용하기 위해서는 속성 값을 잘 파악해두면 좋다.

 

 

Image Activity 속성

Image 액티비티와 관련 속성들

 

 

Image에 관련된 속성들을 보면 Input은 공통으로 가지고 있는 속성이다.

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 잡아오기

Indicate Scope on Screen 설정

 

저건 내가 잡아오려는 Image를 찾을 범위를 설정해준다.

최대한 이미지를 잘 잡을 수 있도록 범위를 설정해두고 그 안에서 찾는다면, 더 효과적으로 엘리먼트를 찾을 수 있다.

 

 

 

그래도.. 되도록이면 Image 안쓰는 방향으로...!

 

** 참조 URL

https://docs.uipath.com/activities/docs/ui-automation-ui-automation

 

+ Recent posts