Python jpype调用Sikuli 实现图像点击,输入,拖动等操作

官网上RaiMan推荐的方式是使用Jython来调用内部的api
根据自己实际的使用情况发现jpype也能调用他的api ,并且运行速度也不慢
首先去官网下载sikuli最新版本(sikuli在1.1版本后做了较大改动),安装JDK最新版本
Python jpype调用Sikuli 实现图像点击,输入,拖动等操作_第1张图片
下载后双击sikulixsetup进行安装,如果是python语言请选择第二个勾选
Python jpype调用Sikuli 实现图像点击,输入,拖动等操作_第2张图片
然后点击继续,最后安装完成后会生成这四个文件
Python jpype调用Sikuli 实现图像点击,输入,拖动等操作_第3张图片
主要使用到的是sikulixapi这个,里面封装了所有的api。
下面直接上代码

# coding=utf-8
from jpype import *
import jpype


jvmPath = get_default_jvm_path()
# if  jpype.isJVMStarted() == True :
jpype.startJVM(get_default_jvm_path(),'-ea',r'-Djava.class.path=D:\Sikuli\sikulixapi.jar')
app =JClass('org.sikuli.script.App')
Screen = JClass('org.sikuli.script.Screen')
Key = JClass('org.sikuli.script.Key')
# Pattern = JClass('import org.sikuli.script.Pattern')
# FindFail = JClass('org.sikuli.script.FindFailed')
screen=Screen()
key = Key()
# screen.selectRegion()
# screen.capture(100,200,300,400)
screen.doubleClick("/imge/20181211194953.png")
screen.type("/imge/20181128114943.png","http://192.168.16.107:8085/login")
if screen.exists("/imge/20181128115419.png"):
    screen.type(key.ENTER)
screen.wait("/imge/20181128114200.png")
screen.type("/imge/20181128114220.png","ddy")
screen.type("/imge/20181128114232.png","1234567")
screen.click("/imge/20181128114245.png")

Python调用jar包需要借助于jvm虚拟机,然后需要指定sikulixapi的安装路径,然后将jvm的路径添加到系统的path中(否则会提示jvm无法启动)
然后在下方声明一个screen 和key,都是api中的类,然后就可以根据上方的一些方法进行调用。
官网完整的api使用地址:https://sikulix-2014.readthedocs.io/en/latest/index.html
祝你们玩的愉快!!!

你可能感兴趣的:(sikuli)