用 iMacros 成功约到周末练车

iMacros 简单的说就是一个基于浏览器的录宏回放插件,利用它可以模拟任何人工的点击,除了手工录制,它还提供一套简单的脚本,还有 javascript,vbscript 等接口方便进行复杂的逻辑控制。听说了这个插件后我就在琢磨怎么用来自动网上约车。

我报的是东方时尚驾校预约计时班,网上约车每天从早 9 点开放到晚 9 点,只能约 7 天以内的。一般周末约的人非常多,我这次因为周末外出不能上网,错过了约车的时机,只能等人退订了我再抢,这个机会非常小,但还是有可能。

断断续续研究了几个小时,终于写出了一个 javascript 脚本调用 iMacros 的接口,并且大约半小时就成功抢到了退票,呵呵。

大概总结一下:

  • Firefox 版本的插件安装地址
  • 录制很简单,点击 record 然后鼠标键盘正常操作,结束后按 stop,然后查看脚本源码,获得第一手感性认识,然后可以对照手册自己添加一些代码
  • SET !REPLAYSPEED FAST 用来设定回放速度为最快,即执行语句中间不等待
  • SET !ERRORIGNORE YES 用来忽略错误
  • REFRESH 用来刷新页面
  • WAIT SECONDES=3 等待 3 秒
  • ONDIALOG POS=1 BUTTON=CANCEL CONTENT= 看到弹出窗口后点 Cancel

写 js 用到的接口:

  1. iimPlay("CODE:...")执行 iMacros 的脚本语句,语句可以是一段,必须以 CODE: 开始,行间要用 "\n" 分隔,返回值为负数代表执行有错
  2. iimGetLastError() 返回最近错误对应的错误信息(字符串)
  3. iimDisplay(msg) 以独立对话框形式显示一个消息
  4. SET 语句只在一个 CODE: 块中有效
  5. Tag 未找到时会默认会等待 !TIMEOUT /10 这么常时间,默认值就是 6 秒
  6. 不支持使用 document.getElementById() 来判断 tag 是否存在

有了这些就可以用 js 来处理复杂的逻辑控制,我是在先在一个循环中登录,直到登录成功,然后点击预约按钮转到约车界面,然后点击相应的表格,表格对应的 id 可以直接查看源码得到,或者用 Web DeveloperColorzilla 等插件查看,判断返回值可知是不是约成功了,成功之后再点会变成取消,所以要增加 ONDIALOG 语句来点击 Cancel 按钮。

7 Comments so far

  1. wayne, on Oct 30, 2008 at 3:31am, said:

    嗯...可以弄个定火车票的, 哈哈

  2. matt(w), on Oct 30, 2008 at 5:04pm, said:

    嗯,这个东西应该已经有啦,没有的话到春节的时候我就写,呵呵。

  3. zgd, on Feb 14, 2009 at 9:38pm, said:

    不知道怎么称呼您,暂称呼您"老大",麻烦把您的“iMacros 成功约到周末练车”的脚本发给我一份好吗,我也研究下,先谢谢了!!

    E_MAIL: serene2008@126.com

  4. matt(w), on Feb 15, 2009 at 12:43am, said:

    发给你了。

  5. icewind, on Apr 16, 2009 at 10:06pm, said:

    GOOD!我和博主想法相同!也报的是东方时尚的预约班,刚想起来可以编个自动脚本试试,想先看看现在有什么更好的工具制作,google一搜就搜到了这里,我也研究研究iMacros去,这个是很有用地东东。
    如果可以的话,请博主也发给我一分吧,谢谢啦!~
    icewind_of_blackisle@hotmail.com

  6. Fisher, on Jul 28, 2009 at 10:14am, said:

    请问老大可不可以发个给俺?多谢了!
    yuningilike@163.com

  7. matt(w), on Jul 30, 2009 at 2:53pm, said:

    下载 dfss-imacros.js,保持扩展名为 .js,看看注释进行修改吧,在 iMacros 里加载执行。不知道现在网站代码改了没有……

    如果你也是在东方时尚学车,完全没必要这么麻烦的,你就录制一个宏,重复执行就行了,东方时尚还是很好约的。

Leave a Comment?


« 没想到法培考试系统是 Linux  —  简单任务 1 - 合并连续的空行 »

Tags

Blogroll

Fairy World | STUPiD | 阅微草堂 | ShelleX | 流浪五天