How can i set loop iMacros by Javascript?

时光毁灭记忆、已成空白 提交于 2019-12-02 04:46:14

问题


1) I can't add set loop imacros by javascript, How can i add it ?

var macro;
    macro =  "CODE:";
    macro +=  "VERSION BUILD=8011895" + "\n"; 
    macro +=  "TAB T=1" + "\n"; 
    macro +=  "SET !ERRORIGNORE YES" + "\n"; 
    macro +=  "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
    macro +=  "SET !TIMEOUT 3" + "\n"; 
    macro +=  "SET !EXTRACT NULL" + "\n"; 
    //macro +=  "SET !LOOP 1" + "\n"; 
    macro +=  "TAG POS={{loop}} TYPE=A ATTR=CLASS:twitter-timeline-link EXTRACT=TXT" + "\n"; 
    macro +=  "SAVEAS TYPE=EXTRACT FOLDER=* FILE=twitter.csv" + "\n"; 
    var extractedtext=iimGetLastExtract();
    iimPlay(macro);

2) How can i use that code on imacros without javascript ? ( on iim)

var extractedtext=iimGetLastExtract(); 

回答1:


Specify your imacros code as a javscript string and prefix with CODE:

var urls = ['http://google.com', 'http://yahoo.com'];

for (var i in urls) {
  var url = urls[i];
  var returnCode = iimPlay('CODE: URL GOTO='+url);
}



回答2:


You have to write macro like this

var macro;

macro ="CODE:";
macro +="TAG POS={{i}} TYPE=SPAN ATTR=TITLE:link"+"\n";

///The triggering part

for (var i=1;i<10;i++)
{

iimSet("i",i)
iimPlay(macro)
}

Since you example was kind of unclear I have to say that this command might not work.

TAG POS={{i}} TYPE=SPAN ATTR=TITLE:link

Instead of word link replace it with * which means any character and then it can work

TAG POS={{i}} TYPE=SPAN ATTR=TITLE:*

Also in the macro you can write like this

TAG POS={{variable}} TYPE=SPAN ATTR=TITLE:*

But in the iimSet part it has be like this.

iimSet("variable",i)



回答3:


1) to loop javascript code you can add for statement like this:

for (i=1;i<=n;i++){
iimPlay(macro);
}

where n is number of loops to perform

2) in iim you do not need it as !extract parameter already has extracted value




回答4:


I understand how to make imacros for firefox loop using javascript, but the question is how does the variable carry over into the called macro here:

iimPlay(macro);

the first time let's say you want to click on link pos=1

then 2nd time on link pos=2

if your called iim script is:

TAG POS=1 TYPE=SPAN ATTR=TITLE:link

how will the script know how to look at position 2 (POS=2) the next time and POS=3 the subsquent time?

is it correct to type the following?

TAG POS=i TYPE=SPAN ATTR=TITLE:link


来源:https://stackoverflow.com/questions/14147290/how-can-i-set-loop-imacros-by-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!