我想在iMacros中编写一些脚本,但我似乎无法弄清楚它们的循环结构是如何工作的。通常在循环中,您可以进行某种评估,可能是某种计数,并在代码中清除启动和停止指示符。我没有了解iMacros中循环的工作原理。我以前从未在iMacros做过任何工作,虽然他们在网上发布了很多东西,却很难找到完整,最新,相关的信息。我找到了几个相关链接,但没有解释其语法的初学者指南。例如,他们的一个教程视频是6个版本,并且有不同的品牌。
我找到了example for loops,但它无法帮助我了解它们是如何工作的。如果我已经理解了iMacros语法,它可能会有所帮助,但这是一个问题22。
我已经看过一些帖子提到某种" Play Loop"按钮,我在评估版中没有。那仍然是一件事吗?
示例页面中的代码:
VERSION BUILD=10.4.28.1074
'Uses a Windows script to submit several datasets to a website, e. g. for filling an online database
TAB T=1
TAB CLOSEALLOTHERS
' Specify input file (if !COL variables are used, IIM automatically assume a CSV format of the input file
'CSV = Comma Separated Values in each line of the file
SET !DATASOURCE Address.csv
'Start at line 2 to skip the header in the file
SET !LOOP 2
'Increase the current position in the file with each loop
SET !DATASOURCE_LINE {{!LOOP}}
' Fill web form
URL GOTO=http://demo.imacros.net/Automate/AutoDataEntry
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:fname CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:lname CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:address CONTENT={{!COL3}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:city CONTENT={{!COL4}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:zip CONTENT={{!COL5}}
'
'Note * is used to ignore leading and trailing blanks that could be in the input data
'
'The precent (%) symbol is used to select the stateid by VALUE as defined in the website select statement and not by its index.
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=NAME:state CONTENT=$*{{!COL6}}*
'
'The string ($) symbol is used to select the country by TEXT, not by its index.
'Index would be the position of an entry in the combo box list, e. g. 161 for United States
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=NAME:country CONTENT=$*{{!COL7}}*
'
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:email CONTENT={{!COL8}}
TAG POS=1 TYPE=BUTTON:submit FORM=ID:demo ATTR=TXT:Submit
TAG POS=1 TYPE=A ATTR=TXT:*Back*
答案 0 :(得分:0)
我没有了解iMacros中循环的工作原理。
iMacros循环通过循环完整的宏来工作 - 你使用LOOP按钮启动宏,而不是PLAY按钮。
通常在循环中,您可以进行某种评估,可能是某种计数,并在代码中清除开始和停止指示符。
没有这一切。你所拥有的是{!LOOP}变量,它包含当前循环的值。这就是你的宏实际使用的地方
SET !DATASOURCE_LINE {{!LOOP}}
逐行读取CSV文件。