Javascript 修复 imacros 中断

The fixing imacros interruption with Javascript

我目前正在从网站下载一些文件。由于数据量大,需要百万次点击,所以我选择使用iMacros来完成点击。但网站不稳定,时不时中断自动点击。我让它解决了一些问题,但仍然存在一个问题。

The screenshot of the problem

图片显示问题。它只是停止而不继续。它不会 return 出现错误,而只是停止。

在每一行中,它们旨在单击按钮或填充某些上下文。有时网站响应缓慢,按钮或文本框未按时显示。因此,宏就停在那里。我惊讶地发现它不是 return 出错而是停在那里。

我正在寻找解决方案,以便每当它这样停止时,我可以重新开始当前循环并且不会错过当前行。

以下是imacros的代码。供参考。如果您能帮我解决这个问题,我将不胜感激。谢谢!

1   TAB OPEN
2   WAIT SECONDS=1
3   TAB T=2
4   WAIT SECONDS=1
5   
6   SET myLoop EVAL("if ('{{myLoop}}' == '__undefined__') ml = 1576; else if ('{{!EXTRACT}}' == '' || '{{!EXTRACT}}' == '#EANF#') ml = ml; else ml = ++ml; ml;")
7   SET !EXTRACT NULL
8   
9   SET !DATASOURCE ???(????).csv
10  SET !DATASOURCE_COLUMNS 2
11  SET !DATASOURCE_LINE {{myLoop}}
12  SET !EXTRACT_TEST_POPUP NO
13  SET !TIMEOUT_STEP 40
14  
15  SET !ERRORIGNORE YES
16  URL GOTO=http://202.39.224.50/FMS_Plic/#
17  WAIT SECONDS=5
18  TAG POS=1 TYPE=A ATTR=TXT:????
19  
20  TAG POS=1 TYPE=A ATTR=TXT:????
21  WAIT SECONDS=3
22  
23  FRAME F=2
24  TAG POS=1 TYPE=A ATTR=ID:ddlDC_Arrow
25  TAG POS=1 TYPE=LI ATTR=TXT:???(????)
26  
27  TAG POS=1 TYPE=LI ATTR=TXT:???(????)
28  WAIT SECONDS=3
29  
30  TAG POS=1 TYPE=A ATTR=ID:ddlCar_Arrow
31  TAG POS=1 TYPE=LI ATTR=TXT:{{!COL1}}
32  
33  TAG POS=1 TYPE=INPUT:TEXT FORM=ID:form1 ATTR=ID:date1 CONTENT={{!COL2}}
34  
35  TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form1 ATTR=ID:btnQuery
36  WAIT SECONDS=15
37  
38  TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form1 ATTR=ID:Cexcel EXTRACT=TXT
39  TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:form1 ATTR=ID:Cexcel
40  WAIT SECONDS=60
41  
42  TAB CLOSE
43  WAIT SECONDS=1
44  SET !ERRORIGNORE NO

尝试按以下方式修改 myLoop 变量:

SET myLoop EVAL("if ('{{myLoop}}' == '__undefined__') {try {ml = (confirm('CONTINUE FROM THE LOOP #' + ml + ' ?') ? ml : 1)} catch(e) {ml = 1;}} else if ('{{!EXTRACT}}' == '' || '{{!EXTRACT}}' == '#EANF#') ml = ml; else ml = ++ml; ml;")

(我想你上面描述的宏停止问题是 'iMacros for Chrome' 的一个错误。所以我的下一个建议可能是使用 'iMacros for Firefox' 及其 JavaScript 脚本接口相反。)