我想根据一些csv值在iMacros上循环一个动作。例如,记录1循环20次,记录2循环10次,这些值保存在csv文件中。如果我使用javascript,循环将是静态的并且适用于所有记录。所以,如果有人知道如何做到这一点,我将不胜感激。 这是我的样本imacros代码
var loop = "10"; // Loop
var build;
build = "CODE:";
build += "CMDLINE !DATASOURCE source.csv" + "\n";
build += "SET !DATASOURCE_COLUMNS 7" + "\n";
build += "SET !LOOP 1" + "\n";
build += "SET !DATASOURCE_LINE {{!LOOP}}" + "\n";
build += "SET !ERRORIGNORE YES" + "\n";
build += "TAB T=1" + "\n";
build += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:content CONTENT=" + "\n";
build += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=name:generate" + "\n";
for (i=0;i<loop;i++) {
iimPlay(build);
}
所以,每个循环都有不同的计数。但是,因为我正在使用javascript循环将使用静态计数并申请每个记录。我需要javascript读取csv文件上的循环值并应用于脚本。但是,据我所知,javascript无法使用imacros的{{!COL}}标签。抱歉,我的英文不好,谢谢。
答案 0 :(得分:0)
让我们从这个代码开始,并努力实现您想要的代码。首先,您不能将循环声明为字符串并在i循环中使用它。它必须是数值。其次使用iimSet在iMacros JavaScript宏中设置循环。而不是{{!LOOP}},你必须放{{loop}}。下面是一个例子。
var loop = 10; // Loop
var build;
build = "CODE:";
build += "CMDLINE !DATASOURCE source.csv" + "\n";
build += "SET !DATASOURCE_COLUMNS 7" + "\n";
build += "SET !LOOP 1" + "\n";
build += "SET !DATASOURCE_LINE {{loop}}" + "\n";
build += "SET !ERRORIGNORE YES" + "\n";
build += "TAB T=1" + "\n";
build += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:content CONTENT=" + "\n";
build += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=name:generate" + "\n";
for (i=0;i<loop;i++) {
iimSet("loop",i)
iimPlay(build);
}