2014-04-28 47 views
1

我想基於一些csv值在iMacros上循環一個動作。例如,記錄1循環20次,記錄2循環10次,這些值保存在csv文件中。如果我使用JavaScript,循環將是靜態的並適用於所有記錄。所以,如果有人知道如何做到這一點,我將不勝感激。 這是我的示例代碼的iMacros基於imacros循環的csv值與javascript

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

讓我們從下面的代碼開始,努力找到你想要的代碼。要開始,你不能將循環聲明爲一個字符串,並在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); 
}