iMacros嵌套循环用于执行任务并在完成时跳转到下一页

时间:2016-01-12 19:05:37

标签: imacros

宏1在页面上执行了10次任务 - 我已经覆盖了它。然后,一旦任务完成,我需要Macro 2跳转到下一页(也已完成)并让Macro 1再次执行它 - 这就是我遇到问题的地方。我这样做会跳过预定次数的下一页,例如20次,因此!LOOP 20。我无法弄清楚如何以编程方式进行两个宏的嵌套。我知道它应该在JS中完成,我已经在JS中完成了两个宏 - 我只是不知道如何"告诉"一旦完成宏1,它应该执行宏2并跳转到下一页并再次启动宏。

这是我到目前为止所拥有的:

var macro1;
macro =  "CODE:";
macro +=  "SET !ERRORIGNORE YES" + "\n";
macro +=  "VERSION BUILD=000000" + "\n";
macro += "SET !TIMEOUT_STEP 0" + "\n";
macro += "TAG POS={{i}} TYPE=A ATTR=TXT:***" + "\n";
macro += "TAG POS=1 TYPE=SELECT ATTR=TXT:*** CONTENT=***" + "\n";
for(var i=0;i<11;i++)
{
iimDisplay(i);
iimSet("i", i);
iimPlay(macro1);}

var macro2 = "CODE:";
macro += "SET !LOOP 20" + "\n";
macro += "TAG POS=1 TYPE=A ATTR=TXT:Next<SP>›" + "\n";
{
iimPlay(macro2);}

1 个答案:

答案 0 :(得分:1)

所以试试这个:

var macro1 =  "CODE:";
macro1 +=  "SET !ERRORIGNORE YES" + "\n";
// macro1 +=  "VERSION BUILD=000000" + "\n";
macro1 += "SET !TIMEOUT_STEP 0" + "\n";
macro1 += "TAG POS={{i}} TYPE=A ATTR=TXT:***" + "\n";
macro1 += "TAG POS=1 TYPE=SELECT ATTR=TXT:*** CONTENT=***" + "\n";

var macro2 = "CODE:";
// macro2 += "SET !LOOP 20" + "\n";
macro2 += "TAG POS=1 TYPE=A ATTR=TXT:Next<SP>›" + "\n";

for (j = 1; j <= 20; j++ ) {
    for (i = 1; i <= 10; i++) {
        iimDisplay(i);
        iimSet("i", i);
        iimPlay(macro1);
    }
    iimPlay(macro2);
}
相关问题