在线教育克星:sikuli

来源:互联网 发布:windows版的vncserver 编辑:程序博客网 时间:2024/04/30 15:43

    很多人就是通过在线教育混课时。但很多时候,这个课时不容易混,它会不时的跳出问题框让你回答,完了还得按确认继续。宝贵的时间不应该浪费在机械的学习上。我们需要一种简单的语言,它能干的就是:找到什么什么,点击什么什么,输入什么什么,拖拽什么什么,所以,sikuli派上用场了。它通过图像识别来找到并控制图形控件,自动处理你在屏幕上看到的一切。

安装:

    http://www.sikulix.com/ 声称可以从中找到一切相关资源。事实上,你得费很大劲才能发现安装文件要从https://launchpad.net/sikuli/sikulix/1.1.0 下载(目前最新版本1.1.0)。要安装它,需要java运行环境,所以,对java很反感的可以到此打住了。


点Setup Now, 一路yes.....................(有些资源被抢了,选中他们时要确保自己能翻墙。)

安装接受会有如下文件:


IDE:

sikuli带有独立的IDE,也能集成到eclipse、netbeans之类的IDE中,这里使用自带的IDE(不就是处理个自动听课吗?)

寥寥几个函数,还自带说明,简单并能完成任务,这就是懒人们需要的,当然,了解点python语法还是必要的(jpython)。


(不得不说,这玩意启动够慢的,e3-1230v2,intel 520 SSD 240G,16G内存,还得11秒)

sikuli中最核心的操作就是图片匹配与目标偏移量,IDE提供了可视化的方式来进行调整。


点击编辑区的图片后就进入调整界面:


在匹配预览中,可通过滑竿来调整识别参数:


sikuli的默认位置为中心点,但如果这不是我们期望操作的位置,就需要进行偏移调整,比如,我们希望自动上传图片,选项为无水印:


设置完后不要忘了点击Apply或者OK,^^,编辑区会显示图片的设置



应用场景:

家里的领导补休财务,翻来覆去听同一节课程混课时,也总是那几个问题(没有12306的验证码那么坑),我就想着识别出问题场景,自动点上答案,然后继续听课,结束后自动刷新重新再听。首先要做的就是先听一遍,把所有的问题都抓下来(你总得自己知道怎么做才能告诉程序怎么做吧)。为了提高图像识别的准确度,我觉得关键的一点就是:不要怕显得很笨!比如那个复选框,屏幕上总有些玩意长得跟它差不多。另外,还是不要怕显得很笨,因为并非所有问题的答案是选中所有的复选框。你如果想用for opt in opts: if index==3: continue之类的方法一般是行不通的,它识别时不是有固定顺序,或者说从上到下给你排列的,它只是说自己能在屏幕上找到所有匹配你提供的图案。所以,下面就是一堆 find ....click....wait...click...find...click...wait...
0 0
原创粉丝点击