通过 CSV 文件循环 iMacros?

Loop iMacros through CSV file?

这是我目前拥有的:

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 for Firefox 插件。几年前我用 iMacros 做了很多事情,但不记得如何正确地做几件事。

  1. 我有一个只有一列的 CSV 文件,它是 URL 的列表,应该在 URL GOTO= 中(逐行)轮换字段.

  2. 如果在尝试转到特定 URL 或提交过程中进程超时,它应该超时并在 10 秒后重新启动进程。

  3. 空格需要使用<SP>吗?该插件会自动添加它,但我不记得几年前在使用 iMacros 时添加过...

谁能帮我解决上面脚本中的这个问题?提前致谢!

这实际上包含 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