{iMacros}如何循环并单击下一步?
第一次使用iMacros。{iMacros}如何循环并单击下一步?
我想,当它是为了运行一个循环50倍,然后,点击“下一步”按钮,并运行相同的循环再次50X,点击“下一步” ......直到“下一步”不再是点击。
到目前为止,我有这方面的工作只有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()内是可运行的iMacros代码的JavaScript函数。所以我们运行(macroStart)“检查下一个按钮”检查下一个是否仍然存在。
- 功能iimGetLastExtract()将获得从代码的最后提取的值。
- 如果提取的文本是下一个然后打破无限循环。
- 其他运行“提取并传送到csv文件” 微距(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);
即时通讯使用Firefox的imacro插件。它允许我将JS文件放在imacro文件夹中并运行它们。截图:https://www.evernote.com/l/AIHQ9ko3AWtLo5rktNzOYAWPSkIaTYzXVdAB/image.png 是这样设置正确吗?当我运行它..没有任何反应。 再次感谢! – Arturino
@Arturino你需要发挥作用,你也是在你想要运行宏的页面中,然后还有一件事就是尝试记录并单击按钮,然后打开#current.iim它将包含标记命令下一个按钮,你需要将它与script.js –
yes中的下一个标记进行比较。 另外下一个按钮的标签命令是正确的。 但是没有输出CSV文件。 ---更新 - 也尝试使用此文件夹路径和CSV文件名:FOLDER = * FILE = Extract _ {{!NOW:ddmmyy}}。csv“ – Arturino
下一个按钮被点击时您所提供的代码50次,你能给的要求更详细的解释? –
我需要为(循环)做一个想法。 的要求已在上面明确说明。 – Arturino
好吧,如果我在循环中循环这个新的csv文件将被创建为每个记录...这就是需要什么?...也可以使您的代码无限循环,并停止循环时,下一个按钮是未找到? –