2017-08-16 109 views
0

第一次使用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 
+0

下一個按鈕被點擊時您所提供的代碼50次,你能給的要求更詳細的解釋? –

+0

我需要爲(循環)做一個想法。 的要求已在上面明確說明。 – Arturino

+0

好吧,如果我在循環中循環這個新的csv文件將被創建爲每個記錄...這就是需要什麼?...也可以使您的代碼無限循環,並停止循環時,下一個按鈕是未找到? –

回答

2

該代碼會幫助你,

只是一種解釋與iMacros都熟悉你。

  1. 您需要創造iMacros的一個的script.js文件,並粘貼此代碼。
  2. 做while循環將永遠運行括號內的代碼。
  3. 然後我們硬編碼所使用的兩個宏如下所示,併爲其分配一個JavaScript變量,循環iimplay()內是可運行的iMacros代碼的JavaScript函數。所以我們運行(macroStart)「檢查下一個按鈕」檢查下一個是否仍然存在。
  4. 功能iimGetLastExtract()將獲得從代碼的最後提取的值。
  5. 如果提取的文本是下一個然後打破無限循環。
  6. 其他運行「提取並傳送到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); 
+0

即時通訊使用Firefox的imacro插件。它允許我將JS文件放在imacro文件夾中並運行它們。截圖:https://www.evernote.com/l/AIHQ9ko3AWtLo5rktNzOYAWPSkIaTYzXVdAB/image.png 是這樣設置正確嗎?當我運行它..沒有任何反應。 再次感謝! – Arturino

+0

@Arturino你需要發揮作用,你也是在你想要運行宏的頁面中,然後還有一件事就是嘗試記錄並單擊按鈕,然後打開#current.iim它將包含標記命令下一個按鈕,你需要將它與script.js –

+0

yes中的下一個標記進行比較。 另外下一個按鈕的標籤命令是正確的。 但是沒有輸出CSV文件。 ---更新 - 也嘗試使用此文件夾路徑和CSV文件名:FOLDER = * FILE = Extract _ {{!NOW:ddmmyy}}。csv「 – Arturino