【问题标题】:How can I Set iMacros to run Randomly?如何将 iMacros 设置为随机运行?
【发布时间】:2017-06-15 23:48:14
【问题描述】:

这是我的代码:

TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:check1 CONTENT=YES       
TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:check8 CONTENT=YES       
TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:check14 CONTENT=YES      
TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:check19 CONTENT=YES      
TAG POS=1 TYPE=SELECT ATTR=ID:t_score CONTENT=%0.75                      
TAG POS=1 TYPE=BUTTON ATTR=TXT:Submit<SP>Number  

我想将第 1 行设置为随机运行,例如它不同于 check1check6
在第 2 行中,它从 check7check12
在第 3 行中,它从 check13check17
在第 4 行中,它从 check18check21
在第 5 行中,数字从 0.751

【问题讨论】:

    标签: javascript checkbox imacros


    【解决方案1】:

    我认为你可以这样做来生成随机数:

    SET !VAR1 EVAL("Math.random() > 0.5 ? : 'check1' : 'check6'")
    TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:{{!VAR1}} CONTENT=YES       
    

    EVAL 函数允许您调用 JavaScript 并执行任意计算。 Math.random() 生成一个介于 0 和 1 之间的随机数,因此 50% 的时间我们选择 check1,50% 的时间选择 check6

    此外,如果实际要求是在minmax 之间生成标签,则此替代方案可以工作(adapted from here):

    SET !VAR1 EVAL("var min = 1; var max = 6;
                    var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
                    'check' + randomNumber;")
    

    为您的各种示例调整 minmax。对于百分比选项,您可以尝试:

    SET !VAR1 EVAL("var min = 75; var max = 100;
                    var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
                    '%' + randomNumber / 100.0;")
    

    这会生成一个介于 75 和 100 之间的随机数,然后除以 100.0 以将其转换为百分比。如果要三位有效数字,则可以使用 750、1000 和 1000.0 等。

    (请注意,您可能需要在一行中完成以上所有操作 - 我将其拆分只是为了更易于阅读)

    【讨论】:

    • 如果我想从检查 1 到检查 6 中进行选择,我应该怎么做?例如检查 2 或检查 3...
    • 好的,添加了更多细节!
    • 非常感谢它很有用
    猜你喜欢
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2022-12-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多