2015-04-15 62 views
1

這是我目前有:通過CSV文件循環iMacros?

VERSION BUILD=8920312 RECORDER=FX 
TAB T=1 
URL GOTO=https://www.random-domain.com 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:new_message_form ATTR=ID:my_subject CONTENT=Custom<SP>Title 
TAG POS=1 TYPE=TEXTAREA FORM=ID:new_message_form ATTR=ID:my_message CONTENT=Hi,<BR><BR>This<SP>is<SP>a<SP>test<SP>message.<BR><BR>-<SP>Custom<SP>Name 
TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:new_message_form ATTR=ID:reply_button 

我使用的iMacros的Firefox插件。多年前,我曾經在iMacros上做過很多事情,但不記得如何正確地做一些事情。

  1. 我只是有一列的CSV文件,那就是應該通過(行由行)在URL GOTO=場旋轉的URL列表。

  2. 如果在嘗試訪問特定URL或在提交過程中進程超時,應該超時並在10秒後重新啓動進程。

  3. 是否使用空格所需的<SP>?該插件會自動添加它,但我不記得添加以iMacros都在幾年前工作時...

誰能幫助我在上面的腳本解決這一問題?提前致謝!

回答

1

這實際上包含csv中的3列,但將有助於避免您提到的問題。

與您的.csv,我建議保存它從Excel以外的東西,因爲它往往不能很好地與iMacros玩。使用Notepad ++保存的UTF-8編碼文件讓我非常幸運。

撇號在行的開頭表示註釋。下面有一些解釋。

'This will have it continue if it times out 
SET !ERRORIGNORE YES 
'Your ten second requirement 
SET !TIMEOUT_STEP 10 
'prevents testing popup from showing 
SET !EXTRACT_TEST_POPUP NO 

'Be sure that the csv has been saved as a UTF-8 encoded csv 
SET !DATASOURCE Datasource.csv 
'This dictates what row to start on 
SET !LOOP 1 
'this connects the loop counter to the row of the csv 
SET !DATASOURCE_LINE {{!LOOP}} 


URL GOTO={{!COL1}} 
'I usually put a short wait in before I try adding content, you can adjust this. 
WAIT SECONDS=5 
'By referencing them from a csv, you shouldn't need the <SP> 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:new_message_form ATTR=ID:my_subject CONTENT={{!COL2}} 
TAG POS=1 TYPE=TEXTAREA FORM=ID:new_message_form ATTR=ID:my_message CONTENT={{!COL3}} 
TAG POS=1 TYPE=INPUT:BUTTON FORM=ID:new_message_form ATTR=ID:reply_button 

我通常在結尾處加上一個驗證步驟,以及,已經iMacros的產生證實了已更新的電子表格。如果事情超時,很有幫助。

粘性這對宏的結束,如果你想驗證

WAIT SECONDS=5 

ADD !EXTRACT {{!COL1}} 
ADD !EXTRACT {{!COL2}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:new_message_form ATTR=ID:my_subject EXTRACT=TXT 
ADD !EXTRACT {{!COL3}} 
TAG POS=1 TYPE=TEXTAREA FORM=ID:new_message_form ATTR=ID:my_message EXTRACT=TXT 

SAVEAS TYPE=EXTRACT FOLDER=* FILE=*.csv