首页 > 代码库 > iMacros 教程

iMacros 教程

imacros能记录你在网页中的动作,然后模拟你的动作自动重复执行。进阶应用主要在于两个方面:

1.用JS动态调用,重复执行之。

2.调用CSV文件,这个不错哦。

还可以调用数据库,这个没用过。

安装和火狐一般扩展安装方法一样,不会装的google之,安装后点击imacros的按钮,浏览器左边出现它的工作界面,就三部分:

1.运行:(可以运行所存在的宏,不解释,别害怕很好用的)

2.记录:(点记录即可记录你在网页中的动作,按停止即可自动保存为当前宏)

3.编辑:(可以对存储的宏进一步编辑,更适合你的用途)

imacros变量

分为系统内定变量 和用户自定义变量

一、系统内定变量

系统内定变量中有三个特殊的变量:VAR1 VAR2 VAR3 可以赋予任何值。

常见的系统内见变量:

SET !VAR1 hello<sp>world
设定!VAR1为 hello world (ps: <sp>代表空格<br>代表回车)

SET !TIMEOUT 25 宏超时值

PROMPT Pleaseentertext !VAR1
弹出一个输入框,你在输入框中输入的内容将传到!VAR1中。

二、用户自定义变量 : 用户外部传入的变量

iimSet(“myurl”,”www.google.com”)

调用变量时用{{myurl}}

 

JS调用imacros所用到的函数

一、iimPlay() : 调用一个iim脚本。

完整调用方法为 : int ret_code = iimPlay ( String macro [, int timeout] ) ,返回值ret_code为1时说明iim被正确调用。小于0则说明执行脚本时出现了错误,

履行 iMacros 的脚本语句,语句可以是一段,必须以 CODE: 起头,行间要用 “\n” 分隔,返回值为负数代表履行有错

二、iimSet() :设置自定义变量

语法为:int ret_code = iimSet ( String -var_VARNAME, String VARVALUE )

最主要的就是上面两个,还可以了解一下

iimDisplay(msg) :以独立对话框形式显示一个消息

string=iimGetLastExtract([n]) : 返回第n此从页面里通过Extract得到的数据

iimGetLastError() 返回最近差错对应的差错信息(字符串)

Tag 未找到时会默认会等候 !TIMEOUT /10 这么常光阴,默认值就是 6 秒

 

调用csv文件

CMDLINE !DATASOURCE sliyu.csv
SET !DATASOURCE_COLUMNS 8
SET !LOOP 2
SET !DATASOURCE_LINE {{!LOOP}}

SET !DATASOURCE sliyu.csv (内置的变量!DATASOURCE)
SET !DATASOURCE_COLUMNS 8 (选择好数据源文件后我们需要告诉iMacrosCSV文件有多少列。用!DATASOURCE_COLUMNS变量设置)
SET !LOOP 2
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}} 代表的是读取出对应的第一列数据

常用指令

REFRESH 用来刷新页面

WAIT SECONDES=3 等候 3 秒

ONDIALOG POS=1 BUTTON=CANCEL CONTENT= 看到弹出窗口后点 Cancel

URL GOTO=http://www.g.cn 转到网址 www.g.cn

TAB T=1 转到第一个标签页

VERSION BUILD=6700624 RECORDER=FX
版本号

TAG POS=1 TYPE=td ATTR=align:center EXTRACT=TXT
POS=地位 页面提取内容 TYPE=标签 ATTR=标签对用的属性:值 EXTRACRT=TXT 提取文字

SET !VAR {{!EXTRACT}} 提取内容在EXTRACT里,复制到var

SET !TIMEOUT 25 超时光阴设值

SET !REPLAYSPEED FAST 用来设定回放速度为最快,即履行语句中间不等候

SET !ERRORIGNORE YES 用来漠视差错