Javascript + Imacro步骤之间的随机等待时间和Code Bug的循环部分

时间:2014-06-30 23:20:51

标签: javascript random imacros

这里有一些带有Javascript问题的imacro,但没有任何东西给我我需要的东西......我尝试了这个问题:Imacros: Random wait time?这个问题:How to loop only a series of steps in iMacros(这很有帮助,但现在我所拥有的是一个小马车)。我无法弄清楚为什么这不起作用......

我想做的是使用imacros关注Tumblr上的人。我添加了Math.random()函数,因为我希望它能够在0到11秒内随机选择一个跟随新人的时间。

我只想让imacro运行这部分代码一次,因为它只需要运行一次:

window.location = "URL GOTO = https://www.tumblr.com/search/pony/recent" + "\n";
var rand = "Math.random()*7 + 5";  
var macro = "CODE:SET !REPLAYSPEED FAST" + "\n";
var macro = "CODE:SET !ERRORIGNORE YES" + "\n";
macro += "TAG POS={{i}} TYPE=I ATTR=CLASS:icon_view_list&&TXT:" + "\n";

然后我希望它循环这部分代码(实际的后续步骤):

macro += "TAG POS={{i}} TYPE=DIV ATTR=TITLE:Like&&CLASS:post_control<SP>like&&TXT: " + "\n";    
macro += "WAIT SECONDS={{rand}}";

它使用它循环它:

for(var i=0;i<100;i++)    
{
iimDisplay(i);    
iimSet("i", i);    
iimSet("rand", rand);    
iimPlay(macro);
}

除了以下代码行之外,这种情况很有效:macro += "TAG POS={{i}} TYPE=I ATTR=CLASS:icon_view_list&&TXT:" + "\n";var rand = "Math.random()*7 + 5;"似乎无法正常工作。代码的第一部分是使它选择&#34;列表视图&#34;而不是&#34;网格视图&#34;在tumblr因为我无法让网格视图起作用(如果有人有任何见解,为什么它不起作用,那将是伟大的,但不是一个大问题)。代码的第二部分没有正常工作,因为它总是将rand设置为11秒...所以看起来Math.random()函数不能正常工作而我不能搞清楚。

这是我的整个代码:

window.location = "URL GOTO = https://www.tumblr.com/search/pony/recent" + "\n";
var rand = "Math.random()*7 + 5";  
var macro = "CODE:SET !REPLAYSPEED FAST" + "\n";
var macro = "CODE:SET !ERRORIGNORE YES" + "\n";
macro += "TAG POS={{i}} TYPE=I ATTR=CLASS:icon_view_list&&TXT:" + "\n";
macro += "TAG POS={{i}} TYPE=DIV ATTR=TITLE:Like&&CLASS:post_control<SP>like&&TXT: " + "\n";    
macro += "WAIT SECONDS={{rand}}";
for(var i=0;i<100;i++)    
{
iimDisplay(i);    
iimSet("i", i);    
iimSet("rand", rand);    
iimPlay(macro);
}

1 个答案:

答案 0 :(得分:0)

var rand = "Math.random()*7 + 5";返回一个字符串,当然是

尝试:

    window.location = "URL GOTO = https://www.tumblr.com/search/pony/recent" + "\n";

    var macro = "CODE:SET !REPLAYSPEED FAST" + "\n";
    macro += "CODE:SET !ERRORIGNORE YES" + "\n";
    macro += "TAG POS={{i}} TYPE=I ATTR=CLASS:icon_view_list&&TXT:" + "\n";
    macro += "TAG POS={{i}} TYPE=DIV ATTR=TITLE:Like&&CLASS:post_control<SP>like&&TXT: " + "\n";
    macro += "WAIT SECONDS={{rand}}";
    for (var i = 0; i < 100; i++) {
        var rand = Math.random() * 7 + 5; //<--rand should be inside the loop
        iimSet("i", i);
        iimSet("rand", rand);
        iimPlay(macro);
        iimDisplay(i);
    }

已编辑以将兰特移动到循环内。对不起,我的坏。