python怎么调用另一个py文件,python怎么调用接口
Sikuli是麻省理工学院研究团队发布的一种图形编程技术(编程小白的福音)。有了Sikuli,你只需要会写HelloWorld,这是最基本的编程技能。您可以使用截屏将神奇的程序与裁剪出的图形元素结合起来,而不是编写复杂的代码行。
斯库里官网:http://slides.sikuli.org/
美国石油学会文件:http://nightly.sikuli.de/docs/index.html
Sikuli是开源的,源代码可以在Github:https://github.com/sikuli/sikuli.查看
简要说明
由于Python不能直接调用Java的方法,所以需要一些第三方库的帮助。目前知道的有Jython,Jpype,Pyjnius等。本文只简单介绍Jpype和Pyjnius调用Java jar包。好了,表演时间到了。
相关:《Python教程》
环境设置
下面是Python调用Sikuli的两种方法。前提条件是:
必须已经配置了Java环境。
Python基础环境已安装
第一种 Jpype
一、安装Jpype包:官网打开命令行,输入pip install JPype1进行安装,会提示安装成功。
如果安装失败可能是由于Windows中缺少VCForPython27导致的,则需要安装此组件。下载链接:https://pan.baidu.com/s/1ILVxjb3K4hMvviCbefpfIw抽取码: 7 URI;如果下载后无法安装,只能下载Jpype1的压缩包进行安装。下载安装包后,找到文件所在的命令并执行pip install JPype1-0.6.3.tar.gz。
安装成功后下载sikuli的jar包,地址:https://raiman.github.io/SikuliX1/downloads.html,
打开链接,然后单击下载:
3.将下载的jar包放到一个适当的文件中。Jpype的环境已经可用。可以尝试在桌面上启动Chrome(运行代码时确保桌面上Chrome的图标没有被其他窗口遮挡,否则会报错)。
fromjpypeimport*
需要安装# VCForPython27
# c : \ program files \ Java \ JDK 1 . 8 . 0 _ 181 \ JRE \ bin \ server \ JVM . dll
printgetDefaultJVMPath()
startJVM(getDefaultJVMPath(),-ea ,r -djava . class . path=f : \ work \ project \ test \ si kuli _ test \ sikulixapi . jar )
Java . lang . system . out . println( hello world )
screen=JClass( org . si kuli . script . screen )
屏幕=屏幕()
# r f : \ work \ project \ test \ si kuli _ test \ imgs \ chrome . png 您捕获桌面上chrome图标的图像路径。
screen . double click(r f : \ work \ project \ test \ si kuli _ test \ imgs \ chrome . png )
关闭JVM()第二种 Pyjnius
由于pyjnius依赖于cython包,所以首先安装cython,然后打开命令行安装cython。
Pipinstallcython然后安装pyjinus。
pipinstallpyjnius安装完成后,在桌面启动Chrome进行验证。
进口货
#将jvm.dll的路径添加到系统变量中,只需添加其中一个,
#您也可以将其配置到系统变量中,这样您就不必在每次运行脚本时都设置它。
OS . environ[ path ]=r c : \ program files \ Java \ JDK 1 . 8 . 0 _ 131 \ JRE \ bin \ server
OS . environ[ path ]=r c : \ program files \ Java \ JRE 1 . 8 . 0 _ 131 \ bin \ server
#将sikuli的jar包引入类路径
OS . environ[ class path ]=r f : \ work \ project \ test \ si kuli _ test \ sikulixapi . jar
fromjniusimportautoclass
#调用Javajar中的类
screen=auto class( org . si kuli . script . screen )
s=屏幕()
s . double click(r f : \ work \ project \ test \ si kuli _ test \ imgs \ chrome . png )结论
归根结底是Python调用Sikuli还是Python调用Java类。以上是Python调用Java的两个简单应用。其实我们在使用Python(selenium,appium)进行自动化时,如果遇到无法识别的元素,可以使用以上两种方式进行操作(也可以基于Python selenium sikuli上传文件),sikuli可以作为辅助工具。不用安装思库力就可以调用环境,方便实用。但是图片在不同平台上的识别率可能较低。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。