Estoy en Firefox 55.0.2 (64 bits), iMacros 9.0.3, Windows10 x64.
Estoy tratando de obtener todos los HREF de todas las páginas del sitio web y fallé en dos bucles.
Sin embargo, el bucle funciona, pero después de cada enlace encontrado, la URL se vuelve a cargar. Este es mi código iMacro:
VERSION BUILD=9030808 RECORDER=FX SET !ERRORIGNORE YES TAB T=1 SET !DATASOURCE links.csv SET !DATASOURCE_COLUMNS 1 SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} URL GOTO={{!COL1}} WAIT SECONDS=15 TAG XPATH="(//body//a)[{{!LOOP}}]" EXTRACT=HREF ADD !EXTRACT {{!URLCURRENT}} SAVEAS TYPE=EXTRACT FOLDER=* FILE=links.csvLuego lo probé de otra manera, con este código relacionado con esta respuesta https://stackoverflow.com/a/18435002/1992004 .
var macro; macro = "CODE:"; macro += "VERSION BUILD=9030808" + "\n"; macro += "TAB T=1" + "\n"; macro += "SET !ERRORIGNORE YES" + "\n"; macro += "SET !EXTRACT_TEST_POPUP NO" + "\n"; macro += "SET !DATASOURCE links.csv" + "\n"; macro += "SET !DATASOURCE_COLUMNS 1 " + "\n"; macro += "SET !LOOP 1" + "\n"; macro += "SET !DATASOURCE_LINE {{i}}" + "\n"; macro += "URL GOTO={{!COL1}} " + "\n"; macro += "WAIT SECONDS=15" + "\n"; var macro1; macro1 = "CODE:"; macro1 += "TAG POS={{n}} TYPE=A ATTR=HREF:* EXTRACT=HREF" + "\n"; macro1 += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=links.csv" + "\n"; for (var i=1;i<20;i++) { iimSet("i",i) iimPlay(macro) var n=1; while(true) { iimSet("n",n) var ret=iimPlay(macro1); if(ret<0) { break; } n++; } } Guardé el último código como .iim y .js :
.iim obtengo un error MacroSyntaxError: unknown command: VAR, line 1 (Error code: -910) ..js , aparece el error The LOOP button can only be used with macro (".iim") files. In a Javascript (".js") file, you can use Javascript itself for loops. .¿Cuál sería el código correcto para que ambos bucles funcionen?
@Shugar @macroscripts @chivracq , ¿probablemente tengas una pista para mí?