Javascript iMacros中的嵌套循环(第二个循环)
希望您能帮助我使用iMacros制作嵌套循环Javascript iMacros中的嵌套循环(第二个循环),javascript,loops,for-loop,macros,imacros,Javascript,Loops,For Loop,Macros,Imacros,希望您能帮助我使用iMacros制作嵌套循环 第一个循环:循环source.csv的所有行(A列,多行) 第二个循环(X):抓取在上找到的所有列表元素hxxp://site.com/?what={{!COL1}} 在做了很多工作之后,我觉得我终于有了收获: 脚本中的问题是,我无法让循环{{{n}}获取页面的所有位置(列表项)。 任何帮助都将不胜感激 var macro; macro = "CODE:"; macro += "VERSION BUILD=000000" + "\n"; mac
{{{n}}
获取页面的所有位置(列表项)。
任何帮助都将不胜感激
var macro;
macro = "CODE:";
macro += "VERSION BUILD=000000" + "\n";
macro += "TAB T=1" + "\n";
macro += "SET !ERRORIGNORE YES" + "\n";
macro += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro += "SET !DATASOURCE source.csv" + "\n";
macro += "SET !DATASOURCE_COLUMNS 1 " + "\n";
macro += "SET !LOOP 1" + "\n";
//macro += "SET !TIMEOUT 3" + "\n";
macro += "SET !DATASOURCE_LINE {{i}}" + "\n";
macro += "URL GOTO=http://site.com/?what={{!COL1}} " + "\n";
macro += "TAG POS={{n}} TYPE=LI ATTR=CLASS:classofdiv" + "\n";
macro += "TAG POS={{n}} TYPE=SPAN ATTR=TXT:* EXTRACT=TXT" + "\n";
macro += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=All_list_items.txt" + "\n";
for (var i=1;i<20;i++)
{
iimSet("i",i)
iimPlay(macro)
iimSet("n",i)//<-- How to grab all the TAG POS of the website?
}
var宏;
宏=“代码:”;
宏+=“版本生成=000000”+“\n”;
宏+=“TAB T=1”+“\n”;
宏+=“设置!错误忽略是”+“\n”;
宏+=“设置!提取测试\u弹出编号”+“\n”;
宏+=“SET!DATASOURCE source.csv”+“\n”;
宏+=“SET!DATASOURCE_第1列”+“\n”;
宏+=“设置!循环1”+“\n”;
//宏+=“设置!超时3”+“\n”;
宏+=“SET!DATASOURCE_LINE{{{i}}”+“\n”;
宏+=“URL转到=http://site.com/?what={{!COL1}}“+”\n”;
宏+=“tagpos={{n}}TYPE=LI ATTR=CLASS:classofdiv”+“\n”;
宏+=“TAG POS={{n}}TYPE=SPAN ATTR=TXT:*EXTRACT=TXT”+“\n”;
宏+=“SAVEAS TYPE=EXTRACT FOLDER=*FILE=All_list_items.txt”+“\n”;
对于(var i=1;i那么您想要获取POS=x的所有位置
试试这个:
var macro;
macro = "CODE:";
macro += "VERSION BUILD=000000" + "\n";
macro += "TAB T=1" + "\n";
macro += "SET !ERRORIGNORE YES" + "\n";
macro += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro += "SET !DATASOURCE source.csv" + "\n";
macro += "SET !DATASOURCE_COLUMNS 1 " + "\n";
macro += "SET !LOOP 1" + "\n";
//macro += "SET !TIMEOUT 3" + "\n";
macro += "SET !DATASOURCE_LINE {{i}}" + "\n";
macro += "URL GOTO=http://site.com/?what={{!COL1}} " + "\n";
var macro1;
macro1 = "CODE:";
macro1 += "TAG POS={{n}} TYPE=LI ATTR=CLASS:classofdiv" + "\n";
macro1 += "TAG POS={{n}} TYPE=SPAN ATTR=TXT:* EXTRACT=TXT" + "\n";
macro1 += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=All_list_items.txt" + "\n";
for (var i=1;i<20;i++)
{
iimSet("i",i)
iimPlay(macro)
//set counter
var n=1;
//this is infinite loop
while(true)
{
iimSet("n",n)//<-- How to grab all the TAG POS of the website?
var ret=iimPlay(macro1);
//if macro didn't find any more positions it breaks from this loop
//and reads new link from the csv file
if(ret<0)
{
break;
}
//increase counter
n++;
}//end of while loop
}//end of for loop
var宏;
宏=“代码:”;
宏+=“版本生成=000000”+“\n”;
宏+=“TAB T=1”+“\n”;
宏+=“设置!错误忽略是”+“\n”;
宏+=“设置!提取测试\u弹出编号”+“\n”;
宏+=“SET!DATASOURCE source.csv”+“\n”;
宏+=“SET!DATASOURCE_第1列”+“\n”;
宏+=“设置!循环1”+“\n”;
//宏+=“设置!超时3”+“\n”;
宏+=“SET!DATASOURCE_LINE{{{i}}”+“\n”;
宏+=“URL转到=http://site.com/?what={{!COL1}}“+”\n”;
var-macro1;
macro1=“代码:”;
macro1+=“tagpos={{n}}TYPE=LI ATTR=CLASS:classofdiv”+“\n”;
macro1+=“TAG POS={{{n}}TYPE=SPAN ATTR=TXT:*EXTRACT=TXT”+“\n”;
macro1+=“SAVEAS TYPE=EXTRACT FOLDER=*FILE=All_list_items.txt”+“\n”;
对于(var i=1;i将macro2更改为macro1。谢谢,第二个循环有效!这就是我的解决方案。太好了。我如何获得+50赏金?以后再问任何与iMacros相关的问题,我都会尝试回答。