2013-02-09 68 views
-2

如果我在JavaScript中使用此代碼爲iMacros的imacros jave循環讀取新的csv行?

for(var i=0;i<10;i++)

,並把這個開頭(我將填寫10個表格)

macro +-= SET !DATASOURCE input.csv

macro +-= SET !DATASOURCE_COLUMNS 7

會每個循環,從我的下一行讀取

{{!COL1}} {{!COL2}} {{!COL3}} ...等

還是我必須把

{{!LOOP}}地方?

所以......如果我想填寫的表格10倍,將每個環的下一個CSV行讀取,如果我只是使用

for(var i=0;i<10;i++)

+0

Java!= Javascript。 – 2013-02-09 20:08:53

回答

1

您只能在iMacros的切換這樣的行,而不是列。 試試這個代碼示例:

var load; 
    load = "CODE:"; 
    load += "set !extract null" + "\n"; 
    load += "SET !DATASOURCE input.csv" + "\n"; 
    load += "SET !DATASOURCE_COLUMNS 7" + "\n"; 
    load += "SET !DATASOURCE_LINE {{i}}" + "\n"; 
    load += "SET !extract {{!col1}}" + "\n"; 
    var load2; 
    load2 = "CODE:"; 
    load2 += "set !extract null" + "\n"; 
    load2 += "SET !DATASOURCE input.csv" + "\n"; 
    load2 += "SET !DATASOURCE_COLUMNS 7" + "\n"; 
    load2 += "SET !DATASOURCE_LINE {{i}}" + "\n"; 
    load2 += "SET !extract {{!col2}}" + "\n"; 
    var load3; 
    load3 = "CODE:"; 
    load3 += "set !extract null" + "\n"; 
    load3 += "SET !DATASOURCE input.csv" + "\n"; 
    load3 += "SET !DATASOURCE_COLUMNS 7" + "\n"; 
    load3 += "SET !DATASOURCE_LINE {{i}}" + "\n"; 
    load3 += "SET !extract {{!col3}}" + "\n"; 
    for(i=1;i<10;i++){ 
    iimSet("i",i); 
    iimPlay(load); 
    var content=iimGetLastExtract(0); 
    iimSet("i",i); 
    iimPlay(load2); 
    var content2=iimGetLastExtract(0); 
    iimSet("i",i); 
    iimPlay(load3); 
    var content3=iimGetLastExtract(0); 
... 
    } 
0

您也可以從CSV數據存儲與加載變量整個CSV文件。然後,您可以使用split()方法通過逗號分割並存儲在各個變量中。這個代碼太長,但如果你想使用不同的方法,這是一個想法。