這篇文章主要介紹了python調(diào)用sikuli的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
站在用戶的角度思考問題,與客戶深入溝通,找到忠縣網(wǎng)站設(shè)計與忠縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋忠縣地區(qū)。
Sikuli是由MIT(麻省理工學(xué)院) 研究團隊發(fā)布的一種圖形化編程技術(shù)(編程小白的福音),使用Sikuli你只需要會寫HelloWorld這種最基本的編程技能即可,用Sikuli不需要去寫出一行行復(fù)雜的代碼,而是用屏幕截圖的方式,用截出來的圖形元素組合出神奇的程序。
Sikuli官網(wǎng):http://slides.sikuli.org/
API doc :http://nightly.sikuli.de/docs/index.html
Sikuli是開源的,源碼可在Github查看:https://github.com/sikuli/sikuli
簡要說明
由于Python不能直接調(diào)用Java的方法,需要借助一些第三方的庫,目前我了解到的有Jython、Jpype、Pyjnius等,本篇文章只對Jpype和Pyjnius調(diào)用Java jar包進行簡單介紹,好了,it`s show time。
環(huán)境設(shè)置
這邊介紹兩種Python調(diào)用Sikuli的方法,前置條件:
必須已經(jīng)配置過Java環(huán)境
Python基礎(chǔ)環(huán)境已經(jīng)安裝
第一種 – Jpype
首先安裝Jpype包:官網(wǎng) 打開命令行輸入 pip install JPype1 進行安裝,會提示安裝成功。

如果安裝失敗可能是Windows缺少VCForPython27導(dǎo)致,需要安裝這個組件,下載鏈接:https://pan.baidu.com/s/1ILVxjb3K4hMvviCbefpfIw 提取碼: 7uri ;如果下載后還安裝不了,就只能下載Jpype1的壓縮包進行安裝了,下載安裝包后,找到文件所在的命令執(zhí)行 pip install JPype1-0.6.3.tar.gz
安裝成功后下載sikuli的jar包,地址:https://raiman.github.io/SikuliX1/downloads.html,
打開鏈接,點擊下載:

3.將下載的jar包放入到合適的文件中,Jpype的環(huán)境已經(jīng)可以了,你可以嘗試以一下,啟動桌面上的Chrome(運行代碼時確保桌面上Chrome的圖標(biāo)沒有被其他窗口遮擋,要不然會報錯的)。
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圖標(biāo)的圖片路徑
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 的路徑加入系統(tǒng)變量,兩者加任意一個即可,
# 也可以將其配置到系統(tǒng)變量中,就不必每次運行腳本時設(shè)置了
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
# 調(diào)用Java jar中的類
Screen = autoclass("org.sikuli.script.Screen")
s = Screen()
s.doubleClick(r"F:\work\project\test\sikuli_test\imgs\Chrome.png")結(jié)論
Python 調(diào)用Sikuli歸根結(jié)底還是Python調(diào)用Java類,以上的是Python調(diào)用Java的兩個簡單應(yīng)用,其實在我們用Python(selenium、appium)進行自動化的時候,會遇到無法識別的元素就可以運用上面的兩種方式進行操作(也可以操作文件上傳基于Python+selenium+sikuli),可以把sikuli作為一個輔助工具來使用,不必安裝sikuli的環(huán)境盡可以調(diào)用,方便實用,不過不同的平臺可能圖片的識別率比較低。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python調(diào)用sikuli的方法內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!
名稱欄目:python調(diào)用sikuli的方法
當(dāng)前網(wǎng)址:http://chinadenli.net/article46/jigehg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、營銷型網(wǎng)站建設(shè)、定制開發(fā)、網(wǎng)站內(nèi)鏈、用戶體驗、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)