多个Eval - 用于Chrome的Imacros
问题描述:
我试图设置一个基于iMacros for Chrome的当前时间的随机延迟。多个Eval - 用于Chrome的Imacros
目前我的代码看起来是这样的:
SET delay EVAL("if (\"!NOW:hh\" == '11') '2<SP>+<SP>9'; else \"3<SP>+<SP>8\";")
SET delay EVAL("if (\"!NOW:hh\" == '12') '1<SP>+<SP>10'; else \"3<SP>+<SP>8\";")
SET delay EVAL("if (\"!NOW:hh\" == '13') '0<SP>+<SP>11'; else \"3<SP>+<SP>8\";")
SET hour EVAL("var randomNumber=Math.floor(Math.random()*{{delay}}); randomNumber;")
这不是工作,因为它只是运行的第一个eval。有没有什么办法可以把这个结合成一条线?
TL; DR:
if NOW:hh = '11' then '9 + 2'
if NOW:hh = '12' then '10 + 1'
if NOW:hh = '13' then '11 + 0'
else '8 + 3'
预先感谢。
答
不要忘记使用{{}}。
你可以在“否则,如果”或“开关”的条件语句:JavaScript If...Else Statements
SET delay EVAL("if (\"{{!NOW:hh}}\" == '11') '2<SP>+<SP>9'; else if (\"{{!NOW:hh}}\" == '12') '10<SP>+<SP>1'; else if (\"{{!NOW:hh}}\" == '13') '11<SP>+<SP>0'; else \"3<SP>+<SP>8\";")
PROMPT {{delay}}
SET hour EVAL("var randomNumber=Math.floor(Math.random()*{{delay}}); randomNumber;")
PROMPT {{hour}}
我试图根据当前时间设置一个随机延迟
我不知道为什么需要这么复杂的随机陈述。这似乎够了:
SET delay("var randomNumber=Math.floor(Math.random()*{{!NOW:hh}} + 1); randomNumber;")
PROMPT {{delay}}
谢谢@Eng。 是的,它比真正需要更复杂。主要是因为我使用iMacros for Chrome,并且因为网站的制作方式。 (DIV):nth-of-type(4)DIV:nth-of-type(5)DIV:nth-of-type(4)DIV:nth-of-type > DIV> DIV:第n的式(2)> TABLE> TBODY> TR> TD> DIV:第n的式(6)> DIV:第n的式(4)> DIV:第n-OF-类型(6)> DIV:类型({{小时}})“' 其中DIV:类型(8)= 6:00' 我在一个时区是提前5小时,所以如果当地时间是11:00(6:00),我不希望它将延迟设置为6:00。 – Chamezz