【问题标题】:iMacros: Pauze after x amount of loops (Javascript)iMacros:在 x 次循环后暂停(Javascript)
【发布时间】:2018-01-09 13:58:33
【问题描述】:

到目前为止,我所读到的是,在循环之间暂停只是 可能在 javascript 中。我很难让我的代码在其中工作 Javascript。

我希望我的代码执行什么: 转到一个网站并单击一个按钮。 通过我的数据源文本文​​件循环通过站点的不同子域。 我想运行 90 个循环(通过 90 个子域)暂停 1 小时,再继续循环 90 个并再次暂停 1 小时等等。(我的数据源文本文​​件包含 1000 多个子域)。

这是我的代码:

SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 2); randomNumber;") /*after a button is pushed wait for a random number of seconds*/ 
SET !TIMEOUT_PAGE 120
SET !ERRORIGNORE YES
SET !DATASOURCE_DELIMITER ;
SET !DATASOURCE data_list.txt
SET !DATASOURCE_COLUMNS 1
URL GOTO=http://www.website.com/{{!COL1}}
TAG POS=1 TYPE=BUTTON ATTR=TXT:Button
WAIT SECONDS={{!var1}}

这很好用,我可以放 x 数量的循环,代码会运行得很好。 但我不能/不知道如何在 javascript 中循环 90 次后暂停。

这是我将代码转换为 javascript 的过程:

var macro;
var rand = "Math.floor(Math.random()*10 + 2)"; /*after a button is pushed wait for a random number of seconds*/ 
macro =  "CODE:";
macro +=  "SET !TIMEOUT_PAGE 120" + "\n"; 
macro +=  "SET !TIMEOUT_TAG 0" + "\n"; 
macro +=  "SET !ERRORIGNORE YES" + "\n"; 
macro +=  "SET !DATASOURCE ACCOUNTS_NO.txt" + "\n"; 
macro +=  "SET !DATASOURCE_COLUMNS 1" + "\n"; 
macro +=  "SET !DATASOURCE_LINE {{!LOOP}}" + "\n"; 
macro +=  "URL GOTO=https://www.website.com/{{!COL1}}" + "\n"; 
macro +=  "TAG POS=1 TYPE=BUTTON ATTR=TXT:Button" + "\n"; 
macro +=  "WAIT SECONDS = {{rand}}" + "\n"; /***this does not seem to work in javascript*/**
iimPlay(macro)

javascript中的随机数不起作用。另外循环90次,暂停1小时,继续的代码还需要添加。

有人可以帮忙吗?

【问题讨论】:

    标签: javascript loops random wait imacros


    【解决方案1】:

    我希望这个解决方案会有所帮助:

    SET !LOOP 1
    SET period 90
    SET bigVAR1 3600
    
    ' /*after a button is pushed wait for a random number of seconds*/ '    
    SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 2); randomNumber;")
    SET !TIMEOUT_PAGE 120
    SET !ERRORIGNORE YES
    SET !DATASOURCE_DELIMITER ;
    SET !DATASOURCE data_list.txt
    SET !DATASOURCE_COLUMNS 1
    URL GOTO=http://www.website.com/{{!COL1}}
    TAG POS=1 TYPE=BUTTON ATTR=TXT:Button
    
    SET !VAR1 EVAL("({{!LOOP}}%{{period}}) ? {{!VAR1}} : {{bigVAR1}};")
    WAIT SECONDS={{!var1}}
    

    (如您所见,无需将宏转换为 JavaScript。)

    【讨论】:

    • Shugar,哇,谢谢兄弟!我现在做的正是我想让它做的事情。不能更感激和感激兄弟!
    • 是否可以添加第二个“句点”?例如: SET period 90 SET bigVAR1 3600 SET period 20 SET bigVAR2 120 所以它会在 20 个循环后停止等待 120 秒,它会在 90 个循环后停止并等待 3600 秒
    • 奇点,没关系。在“stackoverflow”上接受和支持答案就足够了。
    猜你喜欢
    • 2015-03-02
    • 2015-08-18
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多