最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python怎么调用sikuli

    正文概述    2020-08-04   501

    python怎么调用sikuli

    Sikuli是由MIT(麻省理工学院) 研究团队发布的一种图形化编程技术(编程小白的福音),使用Sikuli你只需要会写HelloWorld这种最基本的编程技能即可,用Sikuli不需要去写出一行行复杂的代码,而是用屏幕截图的方式,用截出来的图形元素组合出神奇的程序。

    Sikuli官网:http://slides.sikuli.org/

    API doc :http://nightly.sikuli.de/docs/index.html

    Sikuli是开源的,源码可在Github查看:https://github.com/sikuli/sikuli

    简要说明

    由于Python不能直接调用Java的方法,需要借助一些第三方的库,目前我了解到的有Jython、Jpype、Pyjnius等,本篇文章只对Jpype和Pyjnius调用Java jar包进行简单介绍,好了,it`s show time。

    相关推荐:《Python教程》

    环境设置

    这边介绍两种Python调用Sikuli的方法,前置条件:

    必须已经配置过Java环境

    Python基础环境已经安装

    第一种 – Jpype

    首先安装Jpype包:官网 打开命令行输入 pip install JPype1 进行安装,会提示安装成功。

    python怎么调用sikuli

    如果安装失败可能是Windows缺少VCForPython27导致,需要安装这个组件,下载链接:https://pan.baidu.com/s/1ILVxjb3K4hMvviCbefpfIw 提取码: 7uri ;如果下载后还安装不了,就只能下载Jpype1的压缩包进行安装了,下载安装包后,找到文件所在的命令执行 pip install JPype1-0.6.3.tar.gz

    安装成功后下载sikuli的jar包,地址:https://raiman.github.io/SikuliX1/downloads.html,

    打开链接,点击下载:

    python怎么调用sikuli

    3.将下载的jar包放入到合适的文件中,Jpype的环境已经可以了,你可以尝试以一下,启动桌面上的Chrome(运行代码时确保桌面上Chrome的图标没有被其他窗口遮挡,要不然会报错的)。

    from jpype import *  
    # 需安装VCForPython27
    # C:\Program Files\Java\jdk1.8.0_181\jre\bin\server\jvm.dll
    print getDefaultJVMPath()
    startJVM(getDefaultJVMPath(), "-ea", r"-Djava.class.path=F:\work\project\test\sikuli_test\sikulixapi.jar")
    java.lang.System.out.println("hello world")
    Screen = JClass("org.sikuli.script.Screen")
    screen = Screen()
    # r"F:\work\project\test\sikuli_test\imgs\Chrome.png" 你截取桌面上chrome图标的图片路径
    screen.doubleClick(r"F:\work\project\test\sikuli_test\imgs\Chrome.png")
    shutdownJVM()

    第二种 – Pyjnius

    由于pyjnius依赖cython包,所以先进行安装cython,打开命令行进行安装cython

    pip install cython

    然后安装pyjinus

    pip install pyjnius

    安装完成后,启动桌面上的Chrome进行验证

    import os  
    # 将jvm.dll 的路径加入系统变量,两者加任意一个即可,
    # 也可以将其配置到系统变量中,就不必每次运行脚本时设置了
    os.environ["path"] = r"C:\Program Files\Java\jdk1.8.0_131\jre\bin\server"
    os.environ["path"] = r"C:\Program Files\Java\jre1.8.0_131\bin\server"
      
    # 将sikuli的jar包引入到CLASSPATH中
    os.environ["CLASSPATH"] = r"F:\work\project\test\sikuli_test\sikulixapi.jar"
    from jnius import autoclass
      
    # 调用Java jar中的类
    Screen = autoclass("org.sikuli.script.Screen")
    s = Screen()
    s.doubleClick(r"F:\work\project\test\sikuli_test\imgs\Chrome.png")

    结论

    Python 调用Sikuli归根结底还是Python调用Java类,以上的是Python调用Java的两个简单应用,其实在我们用Python(selenium、appium)进行自动化的时候,会遇到无法识别的元素就可以运用上面的两种方式进行操作(也可以操作文件上传基于Python+selenium+sikuli),可以把sikuli作为一个辅助工具来使用,不必安装sikuli的环境尽可以调用,方便实用,不过不同的平台可能图片的识别率比较低。


    下载网 » python怎么调用sikuli

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元