Search code examples
javascriptimacros

run macro based in texts extracted


my english is not very good, I hope to explain the best I can

Is there any way to run a macro based on extracted text?

This code is test, the first thing to do is to extract a number, if the number matches if (G_Extract!=="4") execute the macro called "run" if not, redirect to google page, the problem is that it executes all the code without giving importance to if (G_Extract!=="4") and ignore submit = "CODE:"; verify += "URL GOTO=http://www.google.com/" + "\n"; iimPlay(submit)}

for (i = 0; i < 50000; i++) {

var verify;
verify =  "CODE:";
verify +=  "URL GOTO=https://www.random.org/" + "\n";
verify +=  "FRAME F=1" + "\n";
verify +=  "TAG POS=1 TYPE=INPUT:NUMBER ATTR=ID:true-random-integer-generator-max CONTENT=5" + "\n";
verify +=  "TAG POS=1 TYPE=INPUT:BUTTON ATTR=ID:true-random-integer-generator-button" + "\n";
verify +=  "TAG POS=1 TYPE=SPAN ATTR=ID:true-random-integer-generator-result EXTRACT=TXT" + "\n";
iimPlay(verify)



var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="4")
{
var Run; 
Run =  "CODE:";
Run +=  "URL GOTO=http://demo.imacros.net/Automate/Extract2" + "\n";
Run +=  "TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT" + "\n";
Run +=  "TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TITLE " + "\n";
Run +=  "TAG POS=1 TYPE=SPAN ATTR=CLASS:bdytxt&&TXT:* EXTRACT=HTM  " + "\n";
Run +=  "TAG POS=1 TYPE=A ATTR=TXT:HREF<SP>extracts<SP>links EXTRACT=HREF  " + "\n";
Run +=  "TAG POS=1 TYPE=IMG ATTR=SRC:*shark_thumbnail.jpg EXTRACT=ALT         " + "\n";
Run +=  "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:abc EXTRACT=TXT " + "\n";
Run +=  "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=ID:TF2 EXTRACT=TXT " + "\n";
Run +=  "TAG POS=2 TYPE=TABLE ATTR=TXT:*My* EXTRACT=TXT  " + "\n";
Run +=  "TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT " + "\n";
Run +=  "TAG POS=1 TYPE=TH ATTR=TXT:MyTable" + "\n";
Run +=  "TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT" + "\n";
iimPlay(Run)

}
else
{var submit;
submit =  "CODE:";
verify +=  "URL GOTO=http://www.google.com/" + "\n";
iimPlay(submit)}

//New Step

iimPlay(verify)
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="4")
{
iimPlay(Run)
}
else
{iimPlay(submit)}

//New Step


iimPlay(verify);
var G_Extract= iimGetLastExtract(1);
if (G_Extract!=="4")
{
iimPlay(Run)
}


}

Solution

  • I checked your code, I could find two problems with the code, you have defined the variable submit inside the else block, so it is only available inside the else block and the second error is, in the site random.org, when you click on the generate button, it is taking some time to generate the value, IMacros does not wait for the value to be received in your current code,I think! For this I suggest adding a WAIT SECONDS=3 so that there is enough time for the random number to be loaded. Please find below my corrected code!

    IMACROS:

    for (i = 0; i < 50000; i++) {
    
      var verify;
      verify = "CODE:";
      verify += "URL GOTO=https://www.random.org/" + "\n";
      verify += "FRAME F=1" + "\n";
      verify += "TAG POS=1 TYPE=INPUT:NUMBER ATTR=ID:true-random-integer-generator-max CONTENT=5" + "\n";
      verify += "TAG POS=1 TYPE=INPUT:BUTTON ATTR=ID:true-random-integer-generator-button" + "\n";
      verify += "WAIT SECONDS=3" + "\n";
      verify += "TAG POS=1 TYPE=SPAN ATTR=ID:true-random-integer-generator-result EXTRACT=TXT" + "\n";
      iimPlay(verify)
    
      var submit;
      submit = "CODE:";
      verify += "URL GOTO=http://www.google.com/" + "\n";
    
      var G_Extract = iimGetLastExtract(1);
      if (G_Extract !== "4") {
        var Run;
        Run = "CODE:";
        Run += "URL GOTO=http://demo.imacros.net/Automate/Extract2" + "\n";
        Run += "TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT" + "\n";
        Run += "TAG POS=1 TYPE=A ATTR=TXT:H*links* EXTRACT=TITLE " + "\n";
        Run += "TAG POS=1 TYPE=SPAN ATTR=CLASS:bdytxt&&TXT:* EXTRACT=HTM  " + "\n";
        Run += "TAG POS=1 TYPE=A ATTR=TXT:HREF<SP>extracts<SP>links EXTRACT=HREF  " + "\n";
        Run += "TAG POS=1 TYPE=IMG ATTR=SRC:*shark_thumbnail.jpg EXTRACT=ALT         " + "\n";
        Run += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=NAME:abc EXTRACT=TXT " + "\n";
        Run += "TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:form1 ATTR=ID:TF2 EXTRACT=TXT " + "\n";
        Run += "TAG POS=2 TYPE=TABLE ATTR=TXT:*My* EXTRACT=TXT  " + "\n";
        Run += "TAG POS=1 TYPE=TD ATTR=CLASS:bdytxt&&TXT:* EXTRACT=TXT " + "\n";
        Run += "TAG POS=1 TYPE=TH ATTR=TXT:MyTable" + "\n";
        Run += "TAG POS=R3 TYPE=TD ATTR=TXT:* EXTRACT=TXT" + "\n";
        iimPlay(Run)
    
      } else {
        iimPlay(submit)
      }
    
      //New Step
    
      iimPlay(verify)
      var G_Extract = iimGetLastExtract(1);
      if (G_Extract !== "4") {
        iimPlay(Run)
      } else {
        iimPlay(submit)
      }
    
      //New Step
    
    
      iimPlay(verify);
      var G_Extract = iimGetLastExtract(1);
      if (G_Extract !== "4") {
        iimPlay(Run)
      }
    
    
    }