2017-11-08 3 views
0

Noob auf Javascript, Ich habe versucht, ein Skript zu machen, die ich von Stackoverflow Einträge gefunden in meiner Makros zu arbeiten, aber es funktioniert nicht so, wie es sollte,imacros/javascript Schleife mit Bedingung am nächsten Taste

was Ich möchte tun ist:

1- Suche google mit Schlüsselwörtern ziehen aus csv-Datei, 2- extrahieren und speichern Sie den Inhalt. 3- zur nächsten Seite der Ergebnisse gehen, und extrahieren und speichern, 4- Es sollte die nächste Schaltfläche fortgesetzt werden, bis keine Schaltfläche Weiter, 5 - dann sollte es zum nächsten Schlüsselwort von CSV-Datei gehen.

die Schleife funktioniert, aber ich weiß nicht, warum es nur auf nächste Schaltfläche 4 Mal klicken, und es wird mit dem nächsten Schlüsselwort fortgesetzt.

Ich habe 2 Varianten mit "While" Bedingung am Anfang versucht, aber das Ergebnis ist das gleiche.

schätzen Ihre Hilfe auf diesem, ich FF verwenden 55, auf Windows 7 32 Bit und imacros 8.9.7 hier ist mein Makro, Extrahieren und Speichern in nicht enthalten,

      var macro; 
          macro = "CODE:"; 
          macro += "SET !ERRORIGNORE YES" + "\n"; 
          macro += "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
          macro += "SET !DATASOURCE keywords.csv" + "\n"; 
          macro += "SET !DATASOURCE_COLUMNS 1" + "\n"; 
          macro += "SET !LOOP 1" + "\n"; 
          macro += "SET !DATASOURCE_LINE {{RowNo}}" + "\n"; 

          macro += "URL GOTO=https://www.google.com/ncr" + "\n"; 
          macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:tsf ATTR=ID:lst-ib CONTENT={{!COL1}}" + "\n"; 
          macro += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:tsf ATTR=NAME:btnK" + "\n"; 

          var NextBtnCheck=iimGetLastExtract(); 

          var NextButton; 
          NextButton = "CODE:"; 
          NextButton += "SET !ERRORIGNORE YES" + "\n"; 
          NextButton += "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
          NextButton += "TAB T=1" + "\n"; 

          NextButton += "WAIT SECONDS=1" + "\n"; 
          NextButton += "TAG POS=1 TYPE=A ATTR=TXT:Next" + "\n"; 
          NextButton += "WAIT SECONDS=0.5" + "\n"; 


          for(var m=1; m<60; m++) 
          {iimSet("RowNo",m) 
          iimPlay(macro) 

          var n = 0 
          var n= iimPlay(NextButton); 

           do 
            { 
            iimSet("n",n) 
            iimPlay(NextButton); 

            if (NextBtnCheck !== "#EANF#"); 
            break; 
            n++; 
            } 
            while(true) 
            { 
            iimSet("n",n); 
            iimPlay(NextButton); 
            } 
          } 

Antwort

0

Ich habe machte Korrektur Ihres Codes wie folgt:

var macro = "SET !DATASOURCE keywords.csv" + "\n"; 
macro += "SET !DATASOURCE_LINE {{RowNo}}" + "\n"; 
macro += "URL GOTO=https://www.google.com/ncr" + "\n"; 
macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:tsf ATTR=ID:lst-ib CONTENT={{!COL1}}" + "\n"; 
macro += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:tsf ATTR=NAME:btnK" + "\n"; 

var NextButton = "TAB T=1" + "\n"; 
NextButton += "WAIT SECONDS=1" + "\n"; 
NextButton += "TAG POS=1 TYPE=A ATTR=TXT:Next" + "\n"; 
NextButton += "WAIT SECONDS=0.5" + "\n"; 

for(var m=1; m<60; m++) { 
    iimSet("RowNo",m) 
    iimPlayCode(macro) 

    do { 
     var NextBtnCheck = iimPlayCode(NextButton); 
     if (NextBtnCheck != 1) 
      break; 
    } while(true) 
} 
+0

dank für die repy; – Dave99

+0

das Hauptmakro nicht spielen, wie ich es spiele, NextButton Makro spielt, – Dave99

+0

Dann versuchen Sie einfach, mein 'Makro' mit Ihrem Code zu ersetzen. – Shugar

0

danke für Ihre Hilfe; Ich habe einen Buchstaben verlegt, korrigiert, jetzt spielt er das Hauptmakro, als ich das Makro starte, und die nächste Taste funktioniert bis zum Ende, aber wenn es keine Weiter-Taste gibt, geht es nicht zum nächsten Schlüsselwort, halten Sie die nächste Taste Makro spielen, hier ist der Code habe ich versucht:

  var macro; 
      macro = "CODE:"; 
      macro += "SET !ERRORIGNORE YES" + "\n"; 
      macro += "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
      macro += "SET !DATASOURCE keywords.csv" + "\n"; 
      macro += "SET !DATASOURCE_COLUMNS 1" + "\n"; 
      macro += "SET !DATASOURCE_LINE {{RowNo}}" + "\n"; 
      macro += "SET !LOOP 1" + "\n"; 

      macro += "URL GOTO=https://www.google.com/ncr" + "\n"; 
      macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:tsf ATTR=ID:lst-ib CONTENT={{!COL1}}" + "\n"; 
      macro += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:tsf ATTR=NAME:btnK" + "\n"; 

      var NextButton; 
      NextButton = "CODE:"; 
      NextButton += "SET !ERRORIGNORE YES" + "\n"; 
      NextButton += "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
      NextButton += "TAB T=1" + "\n"; 
      NextButton += "TAG POS=1 TYPE=A ATTR=TXT:Next" + "\n"; 

      var NextBtnCheck=iimGetLastExtract(); 
      for(var m=1; m<60; m++) { 
       iimSet("RowNo",m) 
       iimPlay(macro) 

       do { 
        var NextBtnCheck = iimPlay(NextButton); 
        if (NextBtnCheck != 1) 
         break; 
       } while(true) 
      } 
+0

so irgendwie ist der Wert von NextBtnCheck immer noch 1, das ist der Grund, warum das nächste Makro weiterspielt, wenn es keine Next-Taste gibt. Irgendeine Lösung dafür? – Dave99

+0

Ich habe diesen Code entfernt: NextButton + = "SET! ERRORIGNORE YES" + "\ n"; und jetzt funktioniert es OK, Vielen Dank – Dave99

+0

Thx für Ihr Arbeitsskript auch :) – Shugar