naver / guitar

75 stars 18 forks source link

영역 지정후 이미지 비교 #416

Open yoonk613 opened 6 years ago

yoonk613 commented 6 years ago

이제 막 기타 입문해서 웹페이지 자동화 시나리오를 만들고 있는데 시나리오 만들다가 막혀서 이렇게 질문을 올립니다ㅜㅜ

화면 내에 특정 영역을 지정해서 이미지를 비교하고, 해당 영역에 없으면 다음 명령+반복 수행하고자 합니다.

1초 대기 후, "|$GUITAR_RecentXPos| + -58,|$GUITAR_RecentYPos| + -230,|$GUITAR_RecentXPos| + 138,|$GUITAR_RecentYPos| + 24" _부분캡쳐_한다.

"$a=1" 설정하고, "$a=5" 까지 반복한다. { 현재위치에서 "B이미지" 없으면 "{space}" 키를 누른다 }

현재위치에 위에서 _부분캡쳐_한 영역만 확인하고, "B이미지"가 없으면 스페이스 키를 반복적으로 누르도록 하고 싶은데 이걸 어떻게 짜야할지 감이 안잡힙니다...

조언 부탁 드립니다

ssmmhh commented 6 years ago

원하시는 내용과 유사한 스크립트를 만들어 보았습니다.

아래 예제는 먼저 네이버 메인화면에서 윈쪽 상단의 "네이버로고" 를 우선 찾고, 그 해당 이미지 위치 기준으로 5회동안 특정영역 (상단 왼쪽 위쪽) 에서만 "네이버 검색창" 이미지가 있으면, SPACE를 누르는 예제 입니다.


$i=1 설정 $=5 반복 { 네이버로고를 확인한다. "|$GUITAR_RecentXPos| ,|$GUITAR_RecentYPos| -50 ,|$GUITAR_RecentXPos| + 800,|$GUITAR_RecentYPos| + 300" 부분대상작업으로, 네이버검색창 있으면 "{SPACE}" 누른다. 1초 대기한다. }

yoonk613 commented 6 years ago

답변 감사합니다! "부분대상작업"이 키워드였군요 한가지 더 질문을 드리고 싶은데요..

1 "$i=1" 설정하고, "$i=3" 까지 반복한다. { 2 "닫기버튼"이 있으면 "닫기버튼"을 클릭한다. 3 "닫기버튼"이 없으면 { 4 "$i=3" 설정한다. 5 } 6 }

위의 스크립트를 반복으로 돌리려고 하는데, 3,4,5 부분을 넣으면 꼭 반복문이 한번 돌고 멈춥니다.. 이미지가 있는데도 해당 위치로 마우스 커서 이동 후 i=3 설정한다음에 멈추는 것 같아요 3,4,5 줄을 주석처리하면 반복으로 잘 돌아갑니다..

위 스크립트에 문제가 있는건가요..?

yoonk613 commented 6 years ago

클릭 위치가 계속 바뀌어서 좌표를 초기화 한다음에 x=0, y=0 을 기준으로 절대좌표로 넣고 싶어서요

ssmmhh commented 6 years ago

1.내용상으로 보면 테스트 시점에 "닫기버튼" 이미지를 찾지 못한것 같습니다. 이를 확인해 보려면 1.5 라인에 추가로 아래와 같이 명확하게 "확인"명령으로 확인하도록 해 보시기 바랍니다. 아마도 찾지 못하고 에러가 날것 같습니다.

"닫기버튼" 확인한다.

이미지가 미세 하게 틀려지거나 한것 같습니다. 해당 이미지를 새롭게 캡쳐하거나, "_"로 추가캡쳐한뒤 사용해 보시기 바랍니다. 이미지를 찾지 못하는 경우는 FAQ 게시물을 참고하세요 https://github.com/naver/guitar/issues/70

2.부분대상 작업에서 절대 좌표로 지정하려면 그냥 아래와 같이 직접 절대값을 입력해 주시면 됩니다.


"100,100,800,900" 부분대상작업으로, 네이버검색창 있으면 "{SPACE}" 누른다.