日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

python调用sikuli的方法

發布時間:2023/12/19 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 python调用sikuli的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要介紹了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調用Sikuli的方法,前置條件:

必須已經配置過Java環境

Python基礎環境已經安裝

第一種 – Jpype

首先安裝Jpype包:官網 打開命令行輸入 pip install JPype1 進行安裝,會提示安裝成功。

如果安裝失敗可能是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,

打開鏈接,點擊下載:

3.將下載的jar包放入到合適的文件中,Jpype的環境已經可以了,你可以嘗試以一下,啟動桌面上的Chrome(運行代碼時確保桌面上Chrome的圖標沒有被其他窗口遮擋,要不然會報錯的)。

fromjpypeimport*
#需安裝VCForPython27
#C:\ProgramFiles\Java\jdk1.8.0_181\jre\bin\server\jvm.dll
printgetDefaultJVMPath()
startJVM(getDefaultJVMPath(),"-ea",r"-Djava.class.path=F:\work\project\test\sikuli_test\sikulixapi.jar")
java.lang.System.out.println("helloworld")
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

pipinstallcython

然后安裝pyjinus

pipinstallpyjnius

安裝完成后,啟動桌面上的Chrome進行驗證

importos
#將jvm.dll的路徑加入系統變量,兩者加任意一個即可,
#也可以將其配置到系統變量中,就不必每次運行腳本時設置了
os.environ["path"]=r"C:\ProgramFiles\Java\jdk1.8.0_131\jre\bin\server"
os.environ["path"]=r"C:\ProgramFiles\Java\jre1.8.0_131\bin\server"

#將sikuli的jar包引入到CLASSPATH中
os.environ["CLASSPATH"]=r"F:\work\project\test\sikuli_test\sikulixapi.jar"
fromjniusimportautoclass

#調用Javajar中的類
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的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。