我有这个iMacros代码片段
VERSION BUILD=7200328 RECORDER=FX
TAB T=1
URL GOTO=http://feedburner.google.com/fb/a/myfeeds
SET !LOOP 1
TAG POS={{!LOOP}} TYPE=A ATTR=HREF:http://feedburner.google.com/fb/a/dashboard?id=*
TAG POS=1 TYPE=A ATTR=TXT:Publicize
TAG POS=1 TYPE=SPAN ATTR=TXT:Socialize
TAG POS=1 TYPE=SELECT FORM=NAME:editFeedActionForm ATTR=ID:postFields CONTENT=$Title<SP>and<SP>Body
WAIT SECONDS=2
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:mainForm ATTR=VALUE:Save
TAG POS=1 TYPE=A ATTR=TXT:FeedBurner
上述脚本将提取与http://feedburner.google.com/fb/a/dashboard?id=*
规则匹配的href,并尝试在页面上进一步导航。
然而,页面上有两个链接具有相同的东西,我想只循环奇数值。 像1,3,5,7如何为循环设置自定义步长值?
答案 0 :(得分:5)
这种简单的算法也可以用iMacros语言完成:
'Store the value of !loop in a variable
SET !VAR1 {{!LOOP}}
ADD !VAR1 {{!LOOP}}
'now !var1 = 2*!loop. Subtract 1 to get odd numbers.
ADD !VAR1 -1
TAG POS={{!VAR1}} TYPE=A ATTR=HREF:http://feedburner.google.com/fb/a/dashboard?id=*
此致
玛西亚
答案 1 :(得分:4)
...我想只循环奇数值
iMacros language本身是一种描述性语言(类似于HTML),不包含条件语句或任何花哨的东西。
因此,不使用iMacros LOOP按钮,而是使用iMacros for Firefox的内置Javascript scripting支持来运行循环。在循环内部,您可以使用iimPlay调用宏(并使用iimSet定义值)。
这样的事情应该有效:
iimDisplay("Start loop...);
for (i = 0; i < 100; i=i+2) {
iimDisplay("Step "+(i+1));
retcode = iimPlay("your macro name here");
if (retcode < 0) {
report += ": "+iimGetLastError();
alert ( report );
}
}
iimDisplay("complete");