sikulix-java

来源:互联网 发布:cp linux 文件夹 编辑:程序博客网 时间:2024/06/06 01:40

sikulix是一个很酷的东西,是由麻省理工大学开源的一种脚本。他同时也提供了python,js,java三种脚本和语言的api。有了它,可以不用python的pywin32和selenium了。并且能对qt进行操作,对于selenium也不用浏览器的对应驱动,不用调用打开浏览器的函数。对于android也可以直接结合一个控机软件映射到window上进行脚本控制。

环境搭建

sikulix的jar需要通过运行sikulixsetup.jar,选择第二项来获得

        

        

          需要注意的是,最好使用最新版的sikuli-script,不然很可能不能在64位操作系统上运行


          api简介

          Screen类:代表了你服务器的当前屏幕显示

          click方法:传入屏幕上任何控件的截图,并且识别并点击该控件

  exists方法:传入控件的截图,判断是否存在该控件,如果不存在则返回null

          wait方法:传入控件的截图,等相应的控件出现了,再往下执行

          waitVanish方法:传入控件的截图,等相应的控件消失了,再往下执行

          

          进阶

  Pattern类:可以用来调整匹配度等相应参数

          similar方法:传入一个单精度浮点型,值为0-1,表示匹配度,默认是0.7

          targetOffset方法:click等鼠标操作的偏移位置,传入一个Location类


          优化

          速度主要在exists,wait,waitVanish方法上比较慢

          exists可以这样优化,再传入一个long型变量,表示这个方法阻塞进程的最长时间  

Match match = s.exists(ImgUtil.getUrl(Resource.IMG_NORMAL_BUTTON_CLOSE),1);
          wait同exists优化

          waitVanish除了加阻塞进程的最长时间,还可以提高匹配度

s.waitVanish(new Pattern(Resource.IMG_NORMAL_PROGRESS).similar(0.9F));
          速度还和图片的大小有关系,因此尽量是图片在清晰的基础上尽量小




          

          

原创粉丝点击