imacros帮助if语句

时间:2013-02-09 01:37:39

标签: firefox scripting imacros

在我的macro1.iim中,我搜索google for Iron Maiden。如果在结果中找到某个关键字(例如:单词“eddy”),我想提取单词“eddy”并将其保存到文本文件中。如果找不到该单词,我想等待10分钟再次搜索。

思考eval还是制作vbs脚本?
有人可以告诉我该怎么做?

我试过这个:

`VERSION BUILD=7500718 RECORDER=FX
SET !EXTRACT_TEST_POPUP NO
SET !ERRORIGNORE YES
SET !TIMEOUT_PAGE 15
TAB T=1     
TAB CLOSEALLOTHERS
ONDIALOG POS=1 BUTTON=OK CONTENT=
URL GOTO=http://google.com/search=ironmaiden/
TAG POS=1 TYPE=P ATTR=TXT:eddy EXTRACT=TXT
SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\";var txt=/eddy/i;
if (s.match(eddy)) iimPlay(macro2)
else WAIT=10000 seconds {{!LOOP}}")`

1 个答案:

答案 0 :(得分:1)

这是使用iMacros JavaScript脚本执行此操作的一种方法。

//declaring the macro
var macroIronMaiden;

macroIronMaiden ="CODE:";
macroIronMaiden +="VERSION BUILD=7500718 RECORDER=FX"+"\n";
macroIronMaiden +="SET !EXTRACT_TEST_POPUP NO"+"\n";
macroIronMaiden +="SET !ERRORIGNORE YES"+"\n";
macroIronMaiden +="SET !TIMEOUT_PAGE 15"+"\n";
macroIronMaiden +="TAB T=1"+"\n";
macroIronMaiden +="TAB CLOSEALLOTHERS"+"\n";
macroIronMaiden +="ONDIALOG POS=1 BUTTON=OK CONTENT="+"\n";
macroIronMaiden +="URL GOTO=http://google.com/search=ironmaiden/"+"\n";
macroIronMaiden +="TAG POS=1 TYPE=P ATTR=TXT:eddy EXTRACT=TXT"+"\n";



var macroWait;

macroWait ="CODE:";
macroWait +="WAIT SECONDS=600";    
////////Beginning///////


//this loop will search 10 times. Change number 10 for more times

for(var i=0;i<10;i++)
{

iimPlay(macroIronMaiden)

var extract=iimGetLastExtract();

if(extract.toLowerCase()=="eddy")
{

//save it to text file
}
else
{

    iimDisplay("Waiting for 10 minutes")
iimPlay(macroWait)
}

}

您可以使用this answer将数据保存在文本文件中。