iMacros 智能无极限
iMacros
简单的说就是一个基于浏览器(firefox)的录宏(Macros)回放扩展(extension),利用它可以模拟任何人工的点击,除了手工录制,它
还提供一套简单的脚本,还有
javascript,vbscript 等接口(API)方便进行复杂的逻辑控制。听说了这个插件后我就在琢磨怎么用来自动网上选课。
大
概总结一下:
一,基本操作
1创建变量
有三个特殊的内置变量, !VAR1 , !VAR2和!VAR3。这些变量可以设置为任何你自定义的值。
例如:
SET !VAR1 helloworld
设定!VAR1为 helloworld (ps: <sp>代表空格<br>代表回车)
PROMPT Pleaseentertext !VAR1
弹出一个输入框,你在输入框中输入的内容将传到!VAR1中。
用户定义的变量:
自定义变量是用户在外部控制时传入的变量。例如在Visual Basic脚本示例这将如下所示:
iret = imacros.iimSet("-var_ITEM", "15")(ps:有时候也可以这样设置:iimSet("ITEM",
"15"),设置变量ITEM)
在调用的地方使用{{ITEM}}替换要代替的数值。
iMacros让您指定文本文件, CSV文件作为输入。
例如这样一个csv文件:
"ARTIST" , "ALBUM TITLE" , "PRICE"
"Beatles", "Abbey Road", "13.49"
"Beatles", "The Beatles 1,2,3" , "25.49"
"Mozart" , "Symphonies No.40 & 41", "9.98"
"Mozart", "Requiem", "7.50"
这个文件的文件名为OnlineAuction.csv
我们现在需要告诉iMacros宏如何找到这个数据输入文件。为此,我们使用内置的变量!DATASOURCE
SET !DATASOURCE OnlineAuction.csv
如果您不使用任何路径信息DataSource的路径默认定位在标准数据源的目录,可在选项对话框中指定这个路径。默认路径是iMacros数据路径下的
datasources文件夹。
选择好数据源文件后我们需要告诉iMacrosCSV文件有多少列。我们用!DATASOURCE_COLUMNS变量设置:
SET !DATASOURCE_COLUMNS 3
此数字必须完全匹配输入文件的列数
既然我们要插入的所有数据集,我们需要的宏循环来控制。
SET !DATASOURCE_LINE {{!LOOP}} (ps:loop就是脚本循环的次数,还记得play
loop那个循环运行按钮么~~)
这个内建变量是用来设置读取文件的第几行。
现在,我们已经把准备工作都做好了。接下来我们要读取出对应的数据。
TAG TYPE=INPUT:TEXT FORM=Listing ATTR=NAME:Name CONTENT={{!COL1}}
TAG TYPE=INPUT:TEXT FORM=Listing ATTR=NAME:Album CONTENT={{!COL2}}
TAG TYPE=INPUT:TEXT FORM=Listing ATTR=NAME:Price CONTENT={{!COL3}}
{{!COL1}} 代表的是读取出对应的第一列数据
te> te>
常用有特殊意义的系统变量,用来设置一些属性
SET !TIMEOUT 33
超时时间设值
SET !REPLAYSPEED FAST 用来设定回放速度为最快,即执行语句中间不等待
SET
!ERRORIGNORE YES 用来忽略错误
2常用指令:
REFRESH 用来刷新页面
WAIT
SECONDES=3
等待 3 秒
ONDIALOG POS=1 BUTTON=CANCEL CONTENT= 看到弹出窗口后点 Cancel
URL
GOTO=http://www. 转到网址 www.
TAB T=1 转到第一个标签页
VERSION
BUILD=6700624 RECORDER=FX
TAB T=1
TAG POS=1 TYPE=td
ATTR=align:center EXTRACT=TXT POS=位置 页面提取内容 TYPE=标签 ATTR=标签对用的属性:值
EXTRACRT=TXT 提取文字
SET !VAR {{!EXTRACT}} 提取内容在EXTRACT里,复制到var
二,
高级操作
写 js 用到的接口:
- iimPlay("CODE:...")执行 iMacros
的脚本语句,语句可以是一段,必须以 CODE: 开始,行间要用 "\n" 分隔,返回值为负数代表执行有错
- iimGetLastError()
返回最近错误对应的错误信息(字符串)
- iimDisplay(msg) 以独立对话框形式显示一个消息
- SET
语句只在一个 CODE: 块中有效
- Tag 未找到时会默认会等待 !TIMEOUT /10 这么常时间,默认值就是 6 秒
- 不
支持使用 document.getElementById() 来判断 tag 是否存在
- string=iimGetLastExtract([n]);
返回第n此从页面里通过Extract得到的数据
通常上述内容就够用了(最多还却写技巧)当然至少你要会一点
javas
cript,就可以做出自动的机器人,虽然偷菜不太可能,但是好友买卖自动化是毫无难度的
简介到这里,有需要的话自己去看wiki吧,
不过是E文的