2016-09-21 2 views
0

imacros chrome 버전에서 루핑을 사용할 때 하나의 장애물이 있습니다. 나는 어떤 사람들이 나를 도울 수 있기를 바랍니다.자바 스크립트를 사용하여 iMacros를 해결하는 중 오류

이제 여러 지구와 날짜에 관한 데이터를 다운로드하려고합니다. 특정 지구와 날짜가 .csv 파일에 저장되어 있습니다. 그리고 .csv 파일의 색인에 따라 iMacros 루프를 실행하여 해당 데이터를 자동으로 다운로드하려고합니다. 다음은 iMacros의 코드입니다.

VERSION BUILD=844 RECORDER=CR 

TAB OPEN 
WAIT SECONDS=2 
TAB T=2 
WAIT SECONDS=2 

SET !DATASOURCE Datasource.csv 
SET !DATASOURCE_COLUMNS 3 
SET !DATASOURCE_LINE {{!LOOP}} 

URL GOTO=http://202.39.224.50/FMS_Plic/# 
WAIT SECONDS=2 

TAG POS=1 TYPE=A ATTR=TXT:MonitorRecord 
WAIT SECONDS=5 

FRAME F=2 
TAG POS=1 TYPE=A ATTR=ID:ddlDC_Arrow 
TAG POS=1 TYPE=LI ATTR=TXT:DC1 
WAIT SECONDS=10 

TAG POS=1 TYPE=A ATTR=ID:ddlCar_Arrow 
TAG POS=1 TYPE=LI ATTR=TXT:{{!COL1}} 

TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form1 ATTR=ID:date1 CONTENT={{!COL2}} 

TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form1 ATTR=ID:btnQuery 
WAIT SECONDS=60 

TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form1 ATTR=ID:Cexcel 
WAIT SECONDS=60 

TAB CLOSE 
WAIT SECONDS=2 

iMacros 코드에는 문제가 없으며 부드럽게 실행됩니다. 그러나 문제는 웹 사이트가 불안정하여이 때때로 충돌하는 것입니다. 충돌이 발생하면 iMacros는 보고서 오류와 관련된 정보를 찾지 못하고 종료합니다. 루프는 1에서 300000까지 가야하기 때문에 수동으로하면 많은 시간이 걸립니다.

그래서이 문제를 해결할 해결책을 찾고 있습니다. 오류가 발생하면을 건너 뛰지 말고 현재 루프를 다시 시작하십시오 (누군가가! ERRORIGNORE를 사용하도록 제안했으나 사용하면 현재 루프가 건너 뛰고 예상 한 것이 아닙니다). 그리고 몇 가지 지침 온라인에서, 자바 스크립트는 해결책으로 보인다. 그러나, 자바뿐만 아니라 iMacros 함께 자바 스크립트를 사용하는 방법에 대해 아무것도 몰라. 이 문제가 Chrome 이외의 다른 브라우저에서도 해결 될 수 있다면 알려 주시기 바랍니다.

진심으로 감사드립니다. 고마워요! :)

답변

0

이 문제는 'iMacros for Firefox'(& 자바 스크립트 스크립팅 인터페이스)뿐만 아니라 'iMacros for Chrome'뿐만 아니라이 문제도 해결할 수 있습니다. !ERRORIGNORE을 사용하여 제안하십시오. 오류가 발생했을 때 현재 루프를 다시 시작하기 위해 변수 myLoop을 정의합시다. 나는 요소 TAG POS=1 TYPE=A ATTR=TXT:MonitorRecord의 텍스트를 찾지 못하는 것과 같다고 가정합니다. 시도하고 개선 할 코드는 다음과 같습니다.

TAB OPEN 
WAIT SECONDS=2 
TAB T=2 
WAIT SECONDS=2 

SET myLoop EVAL("if ('{{myLoop}}' == '__undefined__') ml = 1; else if ('{{!EXTRACT}}' == '' || '{{!EXTRACT}}' == '#EANF#') ml = ml; else ml = ++ml; ml;") 
SET !EXTRACT NULL 

SET !DATASOURCE Datasource.csv 
SET !DATASOURCE_COLUMNS 3 
SET !DATASOURCE_LINE {{myLoop}} 

SET !ERRORIGNORE YES 
URL GOTO=http://202.39.224.50/FMS_Plic/# 
WAIT SECONDS=2 
TAG POS=1 TYPE=A ATTR=TXT:MonitorRecord EXTRACT=TXT 

TAG POS=1 TYPE=A ATTR=TXT:MonitorRecord 
WAIT SECONDS=5 

FRAME F=2 
TAG POS=1 TYPE=A ATTR=ID:ddlDC_Arrow 
TAG POS=1 TYPE=LI ATTR=TXT:DC1 
WAIT SECONDS=10 

TAG POS=1 TYPE=A ATTR=ID:ddlCar_Arrow 
TAG POS=1 TYPE=LI ATTR=TXT:{{!COL1}} 

TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form1 ATTR=ID:date1 CONTENT={{!COL2}} 

TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form1 ATTR=ID:btnQuery 
WAIT SECONDS=60 

TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form1 ATTR=ID:Cexcel 
WAIT SECONDS=60 

TAB CLOSE 
WAIT SECONDS=2 
SET !ERRORIGNORE NO 
+0

정말 고맙습니다. 그리고 나는이 코드에 또 다른 문제점을 보았습니다. 위와 같은 유형이 아닙니다. 나는 새로운 질문을 올렸고, 다음은 그것을위한 링크이다. 진심으로 감사 드리며 몇 분을 보내고 그 점을 살펴 보시면 감사하겠습니다. http://stackoverflow.com/questions/39699450/the-fixing-imacros-interruption-with-javacript –

관련 문제