{ iMacros } 如何循环并点击下一步?
{ iMacros } How to Loop and Click Next?
第一次使用 iMacros。
我想 运行 循环 50 次,然后在完成后单击 "Next" 按钮并再次 运行 相同的循环 50 次,单击 "Next".. . 直到 "Next" 不再可点击。
到目前为止我只用了 1 次:
SET !LOOP 1
TAG POS={{!LOOP}} TYPE=TD ATTR=CLASS:domain EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=* FILE=Extract_{{!NOW:ddmmyy}}.csv
'click NEXT'
TAG POS=1 TYPE=A ATTR=TXT:Next
WAIT SECONDS=3
此代码会对您有所帮助,
只是为了让您熟悉 imacros 的解释。
- 您需要在 Imacros 中创建一个 script.js 文件并粘贴此代码。
- 执行 while 循环将 运行 大括号内的代码永远。
- 然后我们硬编码两个正在使用的宏,如下所示,并为其分配一个 javascript 变量,在循环 iimplay() 内部是一个 javascript 函数,可以 运行 宏代码.所以我们 运行 (macroStart)"check next button" 检查 next 是否仍然存在。
- 函数 iimGetLastExtract() 将从代码中获取最后提取的值。
- 如果提取的文本是下一个,则打破无限循环。
- else 运行 "extract and send to csv file" 宏 (macro2).
代码:
var macro1;
macro1 = "CODE:";
macro1 += "SET !ERRORIGNORE YES" + "\n";
macro1 += "TAG POS=1 TYPE=A ATTR=TXT:Next EXTRACT=TXT" + "\n";
var macro2;
macro2 = "CODE:" + "\n";
macro2 += "SET !ERRORIGNORE YES" + "\n";
macro2 += "TAG XPATH=(/html/body//td[contains(@class,'domain')])[{{j}}] EXTRACT=TXT" + "\n";
macro2 += "SAVEAS TYPE=EXTRACT FOLDER=C:/Users/Naren/Desktop/ FILE=output.csv" + "\n";
var macro3;
macro3 = "CODE:" + "\n";
macro3 += "SET !ERRORIGNORE YES" + "\n";
macro3 += "TAG POS=1 TYPE=A ATTR=TXT:Next" + "\n";
macro3 += "WAIT SECONDS=5" + "\n";
for(var j = 1; j <= 50; j++){
iimSet("j",j);
iimPlay(macro2);
}
iimPlay(macro3);
do{
iimPlay(macro1);
var macro1Extract = iimGetLastExtract();
if (macro1Extract !== 'Next') {
break;
}
for(var j = 1; j <= 50; j++){
iimSet("j",j);
iimPlay(macro2);
}
iimPlay(macro3);
}while (true);
第一次使用 iMacros。
我想 运行 循环 50 次,然后在完成后单击 "Next" 按钮并再次 运行 相同的循环 50 次,单击 "Next".. . 直到 "Next" 不再可点击。
到目前为止我只用了 1 次:
SET !LOOP 1
TAG POS={{!LOOP}} TYPE=TD ATTR=CLASS:domain EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=* FILE=Extract_{{!NOW:ddmmyy}}.csv
'click NEXT'
TAG POS=1 TYPE=A ATTR=TXT:Next
WAIT SECONDS=3
此代码会对您有所帮助,
只是为了让您熟悉 imacros 的解释。
- 您需要在 Imacros 中创建一个 script.js 文件并粘贴此代码。
- 执行 while 循环将 运行 大括号内的代码永远。
- 然后我们硬编码两个正在使用的宏,如下所示,并为其分配一个 javascript 变量,在循环 iimplay() 内部是一个 javascript 函数,可以 运行 宏代码.所以我们 运行 (macroStart)"check next button" 检查 next 是否仍然存在。
- 函数 iimGetLastExtract() 将从代码中获取最后提取的值。
- 如果提取的文本是下一个,则打破无限循环。
- else 运行 "extract and send to csv file" 宏 (macro2).
代码:
var macro1;
macro1 = "CODE:";
macro1 += "SET !ERRORIGNORE YES" + "\n";
macro1 += "TAG POS=1 TYPE=A ATTR=TXT:Next EXTRACT=TXT" + "\n";
var macro2;
macro2 = "CODE:" + "\n";
macro2 += "SET !ERRORIGNORE YES" + "\n";
macro2 += "TAG XPATH=(/html/body//td[contains(@class,'domain')])[{{j}}] EXTRACT=TXT" + "\n";
macro2 += "SAVEAS TYPE=EXTRACT FOLDER=C:/Users/Naren/Desktop/ FILE=output.csv" + "\n";
var macro3;
macro3 = "CODE:" + "\n";
macro3 += "SET !ERRORIGNORE YES" + "\n";
macro3 += "TAG POS=1 TYPE=A ATTR=TXT:Next" + "\n";
macro3 += "WAIT SECONDS=5" + "\n";
for(var j = 1; j <= 50; j++){
iimSet("j",j);
iimPlay(macro2);
}
iimPlay(macro3);
do{
iimPlay(macro1);
var macro1Extract = iimGetLastExtract();
if (macro1Extract !== 'Next') {
break;
}
for(var j = 1; j <= 50; j++){
iimSet("j",j);
iimPlay(macro2);
}
iimPlay(macro3);
}while (true);