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 用来漠视差错

iMacros 教程的更多相关文章

  1. iMacros 入门教程-内置变量介绍(5)

    iMacros 的变量类型 1.!VAR0 到 !VAR9,这是系统定义的内置变量,专门给你赋值用 就是程序设定了这几个名字给你赋值 2.内建变量 就是 imacros 设定的特别作用的变量,例如 ! ...

  2. iMacros 入门教程-基础函数介绍(4)

    imacros的TRAY函数用法 这个函数的功能就是隐藏或显示,当执行imacros文件的时候,出现在特定标签的imacros图标 TRAY HIDE 就是隐藏图标 TRAY SHOW 就是显示图标 ...

  3. iMacros 入门教程-基础函数介绍(3)

    imacros 的 PAUSE 函数用法 这个函数的作用是暂停程序的运行,也就是断点. 对于有时运行到某一步需要输入内容时,或者需要调试时非常有用 如果你混着 pause 和 wait 一起用,那么当 ...

  4. iMacros 入门教程-基础函数介绍(2)

    imacros 的 pos 参数是什么意思 position的缩写,如果有 2 个以上的元素共用完全相同的属性(比方说同一个小区的同一栋楼),这个 POS 的参数可以借由不同位置来帮助明确定位(也就是 ...

  5. iMacros 入门教程-基础函数介绍(1)

    最近在研究 imacros 这工具,感觉非常强大,简单来说就是自动化对于浏览器的操作,程序自动帮你实现,支持 chrome firefox ie,这样基本就覆盖了99%的人群了吧,甚至他自己也有一个 ...

  6. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  7. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  8. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  9. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

随机推荐

  1. 精通AngularJS 读书笔记(1)

    邂逅AngularJS AngularJS是采用JavaScript语言编写的客户端MVC框架,帮助开发者编写现代化的单页面应用.尤其适合编写有大量CURD操作的,具有AJAX风格的富客户端应用. 使 ...

  2. Java学习第三天160818 表单 框架 下拉列表等

    rect 矩形  src 引用 width宽  height  高  iframe  网页内嵌式小窗口(成对出现) auto  自动的  frameborder  边线  scrolling  滚动条 ...

  3. linux服务器默认连接数配置

    vi /etc/security/limits.d/90-nproc.conf * - nofile 65536* - nproc 65536root soft nproc unlimited vi ...

  4. 红字差评系列3.abcd

    [题目分析] 首先,这个e[i]是在a[i]~b[i]的,而且要{c[i]*e[i]}为0,{d[i]*e[i]}最大. 我们把a[i]~b[i]这个区间向左平移a[i]个单位,于是这个区间就变成了0 ...

  5. android 事件监听

    步骤: 1.获取代表控件对象. 2.定义一个类,实现监听接口. 3.生成监听器对象. 4.为控件绑定监听器对象. XML <LinearLayout xmlns:android="ht ...

  6. 第十二天 jni 了解

    1 .什么是jni    java native interface  是一种协议. 用于java 和C 语言之间进行 通讯. 2. java  8中基本类型 . byte (1个字节)  short ...

  7. angular之控制器(0)

    一.控制器的含义 在angularJS中,controlle是一个javascript函数/类,用于操作作用域中,各个对象的初始状态以及相应的行为 二.控制器的作用 1. 控制 AngularJS 应 ...

  8. Vsftpd 配置

    步骤 本次是在CentOS 6的版本上操作的. 说明:以下命令均在root用户下执行.   (1)安装vsftpd 没啥好说的一条命令搞定. $yum install vsftpd 中间会提示确认,输 ...

  9. Java 输入输出流 转载

    转载自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所 ...

  10. 轻松解决Linux安装Eclipse方法

    随着Linux的发展,很多人开始学习Linux系统,你了解Linux系统么?你是Linux系统的应用者么?本文为你详细介绍Linux安装Eclipse,为你在学习Linux安装Eclipse时起一定的 ...