2016-05-25 8 views
0

Ich mache gerade einen Bot mit iMacros, ich möchte die iMacros-Skripte stoppen, wenn ein bestimmter Text erscheint. Derzeit habe ich eine Liste von 7 Skripten (.iim), die in Serie gespielt werden müssen. Ich verwende iimPlay(), um das zu tun.Hör auf, iMacros-Skript zu spielen, wenn der Text erscheint

Wenn während der Wiedergabe von Skript 1 Text, "E-Mail-Adresse bereits in Verwendung", angezeigt wird, dann sollte es den gesamten Prozess beenden und neu starten.

Grundsätzlich möchte ich, dass wenn ich Skripte in der Reihenfolge, während Skript 1 spielt, wenn Text erscheint, dann sollte der gesamte Prozess neu gestartet werden. Ich habe versucht:

setInterval(function() { 
 
     if (document.body.innerHTML.indexOf("Account already exists") >= 0) { 
 
     playMacros(); 
 
     } 
 
    }, 5000);
aber es sagt setInterval existiert nicht. Ich habe auch versucht window.setInterval, gleiche Ergebnisse. Danke

Antwort

0

Wie ich dieses Problem verstehe, müssen Sie die setInterval() Funktion überhaupt nicht anwenden. Versuchen Sie das Skript wie folgt:

for (i = 1; ; i++) { 
    iimPlay("macro1.iim"); 

    // check the possible texts 
    if (iimPlayCode(
     "SET !TIMEOUT_STEP 0" + "\n" + 
     'SEARCH SOURCE=REGEXP:"Account already exists|Email address already in use"' 
    ) == 1) 
     continue; 

    iimPlay("macro2.iim"); 
    // etc. 
} 
Verwandte Themen