imacros javascript return 顶部

imacros javascript return top

我正在使用 javascript 编写 imacros 脚本,但遇到了问题。

var result = "";
var Loop = 1;
while(true)
{    

iimSet("Loop",Loop);
var macro;
    macro="CODE:";
    macro +="SET !DATASOURCE site.csv" + "\n";
    macro +="SET !DATASOURCE_LINE {{Loop}}" + "\n";
    macro +="URL GOTO=https://www.google.com/search?q={{!COL1}}" + "\n";  
    macro +="WAIT SECONDS=1" + "\n";          
iimPlay(macro);

var ret_code = iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=ID:resultStats");
    if(ret_code<0){break;}
ret_code = iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=ID:resultStats EXTRACT=TXT");
    s = iimGetLastExtract();    
    result += " "+s;    
    Loop++
}
var Ru;
    Ru="CODE:";

iimPlay("#current.iim"); 

流程如下。它遍历 csv 文件并检查在 google 结果中索引了多少页。有时 google 要求输入验证码。如果出现验证码,它会从 'var macro' 中断并转到 'var ru',这是用于验证码部分。输入验证码后,我需要 return 到 'var macro' 并从它离开的地方继续。而且我还需要设置一个循环到数据源以停止一切。似乎无法弄清楚这一点。寻求您的帮助。

谢谢, 马克.

所以,您可以尝试这样的操作:

第一期:

// ...
var ret_code = iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=ID:resultStats");
if (ret_code < 0)
    iimPlay("#current.iim");
iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=ID:resultStats");
ret_code = iimPlay("CODE:TAG POS=1 TYPE=DIV ATTR=ID:resultStats EXTRACT=TXT");
// ...

第 2 期:

// ...
    macro +="WAIT SECONDS=1" + "\n";          
var ret_code = iimPlay(macro);
if (ret_code < 0)
    break;
// ...