Loops 尝试使用imacros循环搜索关键字
我有一个csv文件,其中包含128个不同的关键字(1列,128行),我正试图在当前页面上搜索这些关键字,如果它找到其中一个,则继续执行一项非常简单的任务,否则会提示我没有找到任何关键字 目标是实现以下功能:Loops 尝试使用imacros循环搜索关键字,loops,imacros,keyword-search,Loops,Imacros,Keyword Search,我有一个csv文件,其中包含128个不同的关键字(1列,128行),我正试图在当前页面上搜索这些关键字,如果它找到其中一个,则继续执行一项非常简单的任务,否则会提示我没有找到任何关键字 目标是实现以下功能: SET !DATASOURCE ... 'already have this part working SET !DATASOURCE_COLUMNS 1 SET !DATASOURCE_LINE {{!LOOP}} {{!LOOP}}
SET !DATASOURCE ... 'already have this part working
SET !DATASOURCE_COLUMNS 1
SET !DATASOURCE_LINE {{!LOOP}}
{{!LOOP}} = 1
if TAG POS=1 TYPE=* ATTR=TXT:{{!COL1}} = true 'not actual code from here down
move to next step
elseif {{!LOOP}} +1 = 129
PROMPT "No keyword was found"
END 'killing the script
else
loop++ 'loop and search for next keyword
如果重要的话,关键字实际上是IP地址,最后一个块丢失了,即“192.168.0”。不确定它是否会影响格式化。我相信有一种更好的方法可以通过搜索来实现。如果关键字存在,我只是在查找0或1(是或否响应),如果找到,则继续以下链接。如果要执行条件语句,如if,则需要使用脚本语言。我在下面提供了一个Javascript示例,它遵循您的伪代码
var datasource, macro, retcode, numberOfLinesInDatasource, aTagWasFound;
datasource = "somedatasource";
numberOfLinesInDatasource = 128;
aTagWasFound = false;
macro = "CODE:";
// change link to a different website
macro += "URL GOTO=http://stackoverflow.com/questions/25467549/trying-to-do-a-looped-search-for-keywords-with-imacros\n";
retcode = iimPlay(macro);
// loop through all lines in datasource
for (var i = 0; i < numberOfLinesInDatasource; i++)
{
// get the datasource value at this line
macro = "CODE:";
macro += "SET DATASOURCE " + datasource + "\n";
macro += "SET DATASOURCE_COLUMNS 1\n";
macro += "SET DATASOURCE_LINE " + i + "\n";
macro += "ADD !EXTRACT {{!COL1}}\n";
retcode = iimPlay(macro);
keyword = iimGetLastExtract();
// search for this keyword
macro = "CODE:";
macro += "TAG POS=1 TYPE=* ATTR=TXT:" + keyword + "\n";
retcode = iimPlay(macro);
// if retcode is 1 then the tag was found move on to next step
if (retcode === 1){
// move on to next step
aTagWasFound = true;
break;
}
// tag not found try the next value
}
if (!aTagWasFound)
{
alert("No keyword found");
} else
{
alert("Tag Found");
}
var数据源、宏、retcode、numberOfLinesInDatasource、aTagWasFound;
datasource=“somedatasource”;
numberOfLinesInDatasource=128;
aTagWasFound=false;
宏=“代码:”;
//将链接更改为其他网站
宏+=“URL转到=http://stackoverflow.com/questions/25467549/trying-to-do-a-looped-search-for-keywords-with-imacros\n”;
retcode=iimPlay(宏);
//循环遍历数据源中的所有行
对于(变量i=0;i
我的回答见下一个答案,您无法在注释中高效地添加代码。