2016-12-12 6 views
0

captcha를 해결하고 나머지 작업을 진행하려고하지만 문제가 생기면 잘못된 대답을 얻을 수 있습니다. 피드백이 옳았거나 그렇지 않더라도 captcha를 해결할 수는 없습니다. 다시 바로, 페이지가 앞으로 이동하지 않으면 잘못된 캡쳐, 결국 다시 시작 시간이 할당 된 시간과 시간 후에하지만 나는 captcha 해결 영역의 부분을 다시 반복하고 싶습니다. 내 코드는 보안 문자 대답은 여기에 며칠에게 적합한조건으로 iMacro에서 루핑하기 | 정확하지 않은 경우 Captcha 해결

SET apikey G9W API KEY GO HERE 
SET !VAR1 NULL 
SET !VAR2 NULL 
SET !VAR3 NULL 
SET !VAR4 NULL 

'Step 1: Open WEBSITE 
SET !ERRORIGNORE YES 
URL GOTO=URL TO GO 
WAIT SECONDS=10 

URL GOTO=javascript:window.scrollBy(0,450) 

'Step 2: Save Captcha ScreenShot 
FILEDELETE NAME=d:\test.jpg 
'SET !ERRORIGNORE NO 
ONDOWNLOAD FOLDER=d:\ FILE=test.jpg 
WAIT SECONDS=10 
TAG POS=1 TYPE=DIV ATTR=ID:adcopy-puzzle-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT 
WAIT SECONDS=5 

'Step 3: Send Captcha For Solving to 9kw 
TAB OPEN 
TAB T=2 
URL GOTO=http://www.9kw.eu/grafik/form.html 
TAG POS=1 TYPE=INPUT ATTR=NAME:apikey CONTENT={{apikey}} 
TAG POS=1 TYPE=INPUT ATTR=NAME:prio CONTENT=0 
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:selfsolve CONTENT=NO 
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:confirm CONTENT=NO 
TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ACTION:/index.cgi ATTR=NAME:case-sensitive CONTENT=NO 
TAG POS=1 TYPE=INPUT ATTR=NAME:source CONTENT=imacros 
TAG POS=1 TYPE=INPUT ATTR=NAME:file-upload-01 CONTENT=d:\test.jpg 
TAG POS=1 TYPE=INPUT ATTR=TYPE:submit 
SET !EXTRACT_TEST_POPUP NO 
SET !TIMEOUT_STEP 180 
TAG POS=1 TYPE=INPUT ATTR=NAME:captchaid EXTRACT=TXT 
SET !VAR1 {{!EXTRACT}} 
'Clean the !EXTRACT variable for the next task 
SET !EXTRACT NULL 
'Extract the characters that are recoginzed from the picture of captcha. 
TAG POS=1 TYPE=INPUT ATTR=NAME:result EXTRACT=TXT 
WAIT SECONDS=1 
TAB CLOSE 

'Step 4: Check the captcha answer (text or nothing like #EANF# = Extraction Anchor Not Found) 
SET !VAR2 EVAL("if (\"{{!EXTRACT}}\" == \"#EANF#\") {var x = \"\";} else {var x = \"{{!EXTRACT}}\";} x;") 
'Clean the !EXTRACT variable for the next task 
SET !EXTRACT NULL 

'Step 5: Fill the recognized characters to the verification box 
TAB T=1 
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:adcopy_response CONTENT={{!VAR2}} 
SET !TIMEOUT_STEP 40 
WAIT SECONDS=5 
SET !ERRORIGNORE YES 
TAG POS=1 TYPE=INPUT:SUBMIT ATTR=ID:subbmit 
WAIT SECONDS=5 

'Step 6: Check and send the captcha feedback back to the captcha service (OK:1, NotOK:2, EN: Right/False, DE: Richtig/Falsch) 
SET !EXTRACT NULL 
SET !TIMEOUT_STEP 10 
TAG POS=1 TYPE=P ATTR=TXT:Wrong<SP>Captchas EXTRACT=TXT 
SET !VAR3 EVAL("if (\"{{!EXTRACT}}\" == \"#EANF#\") {var x = \"1\";} else {var x = \"2\";} x;") 
TAB OPEN 
TAB T=2 
SET !TIMEOUT_STEP 60 
URL GOTO=http://www.9kw.eu/index.cgi?source=imacros&action=usercaptchacorrectback&apikey={{apikey}}&correct={{!VAR3}}&id={{!VAR1}} 
WAIT SECONDS=2 
TAB CLOSE 
TAB T=1 
SET !VAR4 {{!VAR3}} 

'Step 7 NEXT Tasks 

내가! VAR3는 보안 문자가 의미하는 값이있는 경우 2 단계에서 코드 6 단계로 루프에 원하는 코드를 경우 종료 좋은 시작을하고있다 괜찮아요하지만 captcha가 맞다는 것을 의미하는 1이면 계속합니다. 3 매크로에서 첫 번째 매크로를 1 단계에서 2 단계로 6 단계를 포함하고 세 번째 단계에서는 7 단계 이상을 포함하고 js 스크립트에서 호출하려고합니다.

//Step 1 Open Website 
iimPlay("test1.iim"); 

//STEP 2 to 6 Fill Captcha untill right 

for(i=2;i<=1;i--) 
{ 
iimSet("{{!VAR4}}",i); 
iimPlay("test2.iim"); 
} 

//STEP 7 Go About doing your thing 
iimPlay("test3.iim"); 

을 따르 그러나 이것은 일반적으로 시험 1 개 스킵 테스트 2 테스트 3 부 내가 JS 파일의 모든 코드를 퍼팅 시도를 연주하고 같은 일이 두 번째 파 시도로 또한 건너 뛰기, VAR3의 값을 원하거나 루프를 제어하고 값이있을 때까지 반복하십시오.

이 두 번째 부분을 반복하도록 도와주세요. iim 파일에서 사용할 수 없다는 것을 알고 있습니다. 자바와 나는 DOS에서 프로그래밍을 알지 못합니다. 라벨을 붙여서 GOTO LABEL 등을 가리킬 수 있습니다.하지만 여기서는 무엇을 해야할지 전혀 모르겠습니다.

답변