2016-09-26 6 views
0

Ich lade gerade einige Dateien von der Website. Aufgrund der großen Datenmenge, die Millionen von Klicks erfordert, verwende ich iMacros, um die Klicks zu erzielen. Aber die Website ist instabil und unterbricht den automatischen Klick von Zeit zu Zeit. Ich hatte es einige Probleme beheben, während immer noch ein Problem bleibt.Die Reparatur imacros Unterbrechung mit JavaScript

The screenshot of the problem

Das Bild zeigt die Probleme. Es hört einfach auf und geht nicht weiter. Es kommt nicht mit einem Fehler zurück, sondern stoppt einfach.

In jeder spezifischen Zeile sind sie so gestaltet, dass sie auf eine Schaltfläche klicken oder einen bestimmten Kontext ausfüllen. Und manchmal reagiert die Website langsam und die Schaltfläche oder der Textrahmen werden nicht rechtzeitig angezeigt. Daher haben die Makros gerade dort angehalten. Ich war erstaunt zu finden, dass es nicht mit einem Fehler zurückkehrt, sondern nur dort gestoppt.

Ich bin auf der Suche nach einer Lösung, so dass, wenn es so aufhört, ich die aktuelle Schleife neu starten kann und die aktuelle Zeile nicht verpassen.

Das Folgende ist der Code für Imacros. FYI. Ich schätze das sehr, wenn Sie mir dabei helfen könnten. Vielen Dank!

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 

Antwort

0

Versuchen Sie, die myLoop Variable in der folgenden Art und Weise zu ändern:.

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;") 

(Ich nehme an, dass das Problem der Makro Anhalten, wie Sie oben beschrieben ein Fehler von ‚iMacros für Chrome‘ ist also mein Der nächste Vorschlag könnte sein, stattdessen "iMacros for Firefox" und seine JavaScript Scripting Interface zu verwenden.)