首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 iMacros 来自动化日常的工作(5)iMacros 的脚本语言介绍

使用 iMacros 来自动化日常的工作(5)iMacros 的脚本语言介绍

iMacros 的脚本语言介绍接下来我们点击演示用.iim ,然后在编辑 Tab 里面选择"编集宏",(或是使用文本编辑器,在保存 演示用.iim 档案的位置直接打开该档案也 OK),                                来看看iMacros为我们录制了什么内容。
图 15. 编辑刚刚录制完成的脚本这里为了方便讲解,对图片进行了个结合处理,左边是录制的脚本,右边是我们在页面上输入的内容。
图 16. iMacros 所录制的内容
这里的 1 到 15 行,根据 8020 法则,或许包含了 80%在日常工作中,最常被使用的机能。下面各行的内容进行简要的说明。
  • 访问页面第三行的                                                  URL GOTO=http://localhost/sample/tblmember_shiplist.php代表到达这个页面。如果说目的地页面在执行脚本前已经到达,比方说是直接在地址栏里输入,或是借由保存的 Bookmark,那这一行可以删去。通常的情况下,如果说要抵达预备执行 iMacros 的预定页面是需要经过一段操作步骤(比方说用户登录后才能进行的一些操作,必须在 Session 里面先准备好一些数据),那就无法透过直接指定链接地址来直接访问,可以先手动操作到目的地的页面,然后在执行脚本.URL 这个命令的细节可以在下列链接得到参照:参见 部分。
  • 点击链接第四行的  TAG POS=1 TYPE=A ATTR=TXT:Add                              代表点击下方这个链接时候所产生的动作:
    图 17. Add 在画面上的位置  所表示链接的 HTML 源代码
    1
    <a href="tblmember_shipadd.php">Add</a>




    TAG 是个 iMacros 脚本里面的命令。这个命令的作用是在选择当前 HTML 页面里面的元素(Element),至于要选择什么元素,需要在其后方指定参数来标明。        后面的参数用来标记出 HTML 元素所具备的不同属性来定义每个元素的位置,就好像家里的地址一样,
            比方说是上海市长宁区。。这里的市和区就是属性,而且具有从上到下,将范围一步步缩小的特征。详细的说明请参考下方表格
    属性说明POS如果有 2 个以上的元素共用完全相同的属性(比方说同一个小区的同一栋楼),这个 POS            的参数可以借由不同位置来帮助明确定位(也就是说同一栋楼里的第几楼)。在这里因为只有一个元素,所以参数值是 1。TYPE这个参数用来标明所要定位的这个 HTML Tag 是什么类型。在 HTML 源代码里面可以看出,这个 HTML Tag 的类型是个 A Tag(A 代表 anchor 的简写),所有这里 TYPE 后面的参数值就是 A。
              关于 A Tag 更多的说明,可以参考详细说明:参见 部分。 ATTR这个参数用来标明所要定位的这个 HTML Tag 具有什么样的属性。因为是参照到该对应的 HTMLTag 所具备的属性,因此可以指定的项目是很多的,在 HTML 源码里面可以看出具有 href="tblmember_shipadd.php" 的属性,作为另外一种选择,这里的 Tag 属性也可以标记为 ATTR=HREF:tblmember_shipadd.phpTXT这个参数用来标记被 Tag 所包围的文字部分。由 HTML 源码可以看到在 Tag 之间包裹着 Add 这个文字。
  • 表单输入                                        接下来的从脚本的第 5 行到第 12 行的作用,是用来填写表单
    图 18. 录制脚本中和表单输入相关的部分
    这里的脚本里面包含了更多的定位信息,和之前所说明过的内容一样,都是为了要正确的标记所要操作的 HTML 元素所在的位置而有的内容。可以说是和 HTML 源码里头的每个类型,属性是交互参照的。 这里比较需要注意的是 CONTENT 这个参数,代表着表单要输入的内容,在做更多弹性的运用的时候,我们可能会需要去编辑这一个参数, 其余的部分都可以透过录制而自动完成,基本上修改的机会不大。
       另外就是 FORM 的这个参数,因为所有的表单原件都是被包裹在 FORM 里头的,所以在脚本里的几乎每一行都可以看到 FORM=NAME:的标记,标明这个原件是属于哪个表单的。
    属性说明CONTENT
    • 1:
                  在文字的输入框的情况,可以看脚本里面的第 5,8,12 行。在第 5 行和第 12 行可以看见,在文本输入里经常会用到的空格和换行,在脚本里,替代的用<SP>来表示半角空格,及<BR>来表示换行符号
    • 2:
                  在 RadioBox 的情况,可以看脚本里面的第 6 行,相应的 HTML 的源代码节录如下
      <input type="radio" name="x_gender" id="x_gender" value="{value}">
                  <input type="radio" name="x_gender" id="x_gender" value="1">男
                  <input type="radio" name="x_gender" id="x_gender" value="2">女
                  在这一行里面看不见 CONTENT,因为是使用 POS 来做定位。
    • 3:
                  在下拉框的情况下,可以看脚本里面的第 7 行,相应的 HTML 的源代码节录如下
                  <select id="x_area" name="x_area">
                  <option value="" selected="selected">Please Select</option>
                  <option value="1">黄浦区</option>
                  <option value="2">普陀区</option>
                  这里选择的是普陀区,因此在 CONTENT 里使用%2 来做定位。
    • 4:
                  在多选框的情况下,可以看脚本里面的第 9 行,相应的 HTML 的源代码节录如下
                              <select id="x_habbits[]" name="x_habbits[]" multiple="multiple">
                  <option value="1">读书</option>
                  <option value="2">看电影</option>          这也是属于 HTML 的 Select 标签,因此可以发现脚本的第 7 行和第 9 行使用类似的定位方式。
    •             5:
                  在 Checkbox 的情况下,可以看脚本里面的第 10.11 行,相应的 HTML 的源代码节录如下
                              <input type="checkbox" name="x_media[]" id="x_media[]" value="{value}">
                  <input type="checkbox" name="x_media[]" id="x_media[]" value="1">电视
                  <input type="checkbox" name="x_media[]" id="x_media[]" value="2">报纸
                  在录制的脚本里面使用了 POS 之外,和 RadioBox 不同,还加上了 CONTENT=YES,这是因为点击了 Checkbox 的时候,有 2 种可能性,一种是勾选,在点一下代表取消勾选。和 RadioBox 的动作有所区别所造成的。
    FORM在演示用的 HTML 的源代码是 <form name="ftblmember_shipadd" id="ftblmember_shipadd" action="tblmember_shipadd.php" method="post"
              而在脚本里面也相应的使用了 FORM=NAME:ftblmember_shipadd 来标记这个 Form 的位置。
  • 保存图片                                                  接下来是脚本的第 13 行。
    SAVEAS TYPE=PNG FOLDER=* FILE=*这一行脚本的目的是保存荧幕截屏。这里使用了 SAVEAS 这一个脚本命令。这个命令有下列的属性参数。
    属性说明TYPE这里表示要保存的副档名。在保存荧幕截屏的情况下,可以指定的副档名有 BMP,PNG,JPEG 三种。除了保存截屏,也可以保存这个画面。细节可以参见 部分
    FOLDER保存的档案位置。可以指定详细路径,但是空格的部分要用<SP>来代替。如果不指定,也就是使用像第 13 行一样的写法,则保存到预设路径。FILE保存的档名。如果使用像第 13 行一样的写法,代表的以当前的档名(副档名为 TYPE 所已经指定)。
              可以使用+来 append 更多的信息,比方说,下列的写法就可为档案的命名加上时间信息:
              FILE=+{{!NOW:ddmmyyyy}}
    上面所说的预设目录,是在下列 这个位置所进行的设定。
    图 19. iMacros 中保存路径的设定在示例里面的图片被保存到了这个位置,以当前的档名保存
    图 20. 在录制过程中被保存的截屏档案
  • 提交表单                                                  在脚本的第 14,15 行对表单进行了 Submit 动作,基本上和前面所讲解的一样,利用 TAG 命令定位 Submit 按钮的位置,然后在运行脚本的时候,                                                  iMacros就会自动的去做出 Submit 的动作了。
返回列表