溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中基于sikuli jar包如何實現(xiàn)淘寶自動搶單功能

發(fā)布時間:2021-11-24 14:33:58 來源:億速云 閱讀:161 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了Python中基于sikuli jar包如何實現(xiàn)淘寶自動搶單功能,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

    記得節(jié)前,西哥問我能不能幫忙寫個淘寶自動搶單的功能。其實之前就有提到過sikuli IDE工具,可以很方便地實現(xiàn)圖形化自動化,只是當(dāng)時并沒有真正用python實現(xiàn)。

    因此剛好借這個機(jī)會,進(jìn)一步熟悉python和sikuli框架之間的使用。

【效果如下 】

以下 操作全部由代碼模擬用戶鼠標(biāo)操作進(jìn)行的 。當(dāng)前僅實現(xiàn)了自動打開瀏覽器并把商品加入 購物車,后續(xù)功能有待優(yōu)化和 實現(xiàn)。

Python中基于sikuli jar包如何實現(xiàn)淘寶自動搶單功能

【示例代碼】

# coding=utf-8# @Auther : "鵬哥賊優(yōu)秀"# @Date : 2019/10/1# @Software : PyCharm
from jpype import *import jpypeimport time
url = 'https://detail.ju.taobao.com/home.htm?spm=608.2291429.102212b.1.68864f84xeZhgw&id=10000503777283&item_id=539686923712'jvmPath = jpype.get_default_jvm_path()jpype.startJVM(jvmPath, '-ea', '-Djava.class.path=F:\\sikuli\\1\\sikulixapi.jar')Screen = JClass('org.sikuli.script.Screen')Key = JClass('org.sikuli.script.Key')Pattern = JClass('org.sikuli.script.Pattern')KeyModifier = JClass('org.sikuli.script.KeyModifier')myscreen = Screen()mykey = Key()mykeymodifer = KeyModifier()myscreen.capture(0, 0, 1366, 768)myscreen.click(Pattern('最小化窗口.png').similar(0.6))if not myscreen.exists('add.png',2):    print("未檢測到瀏覽器,將自動打開chrome瀏覽器!")    myscreen.doubleClick('chrome.png')myscreen.click(Pattern('add.png').similar(0.6))myscreen.type(url)myscreen.type(mykey.ENTER)myscreen.type(mykey.ENTER)myscreen.click(Pattern('最大化.png').similar(0.6))myscreen.click(Pattern('馬上搶.png').similar(0.6))time.sleep(2)for i in range(5):    myscreen.click(Pattern('4.png').similar(0.6))myscreen.click('taste.png')myscreen.click(Pattern('shopping cart.png').similar(0.6))shutdownJVM()

?【知識點】

1、python 如何調(diào)用jar包

    之前搶紅包的博客,主要是基于sikuli IDE,即自身的app軟件界面實現(xiàn)的。但是在下載sikuli程序時,其實還下載了一個sikuliapi.jar包。

Python中基于sikuli jar包如何實現(xiàn)淘寶自動搶單功能

因此現(xiàn)在的問題就是如何用Python調(diào)用jar包了。很簡單,可以使用jpype庫或者jython庫。本文是 以jpype為例。(當(dāng)前前提是本地電腦已經(jīng)安裝java,并成功配置java環(huán)境變量;如果不會配置java或者安裝的同學(xué),可 以自行百度)

Python中基于sikuli jar包如何實現(xiàn)淘寶自動搶單功能

(1)獲取jvm路徑信息;

(2)啟動Jvm,即可調(diào)用到你想要的jar包。

2、sikuli jar包的功能使用

Python中基于sikuli jar包如何實現(xiàn)淘寶自動搶單功能

(1) screen:獲取當(dāng)前屏幕,之后 再進(jìn)行具體按鈕的操作;對應(yīng)函數(shù)有用于確定屏幕范圍的capture(x1,y1,x2,y2),也有手動確定檢測屏幕范圍的selectRegion();

(2) Pattern:用于圖像匹配,支持相似度similiar(0.7)、偏移量設(shè)置targetOffset(10,30)。0.7表示相似度為70%,10表示向上移10個像素,30表示向右移30個像素;

(3) Key:用于鍵盤輸入;

(4) KeyModifier:用于獲取鍵盤控制對象,比如ctrl/alt/shift等,多用于 ctrl+A之類的組合

對應(yīng)的屏幕操作:

(1) 單擊:myscreen.click

(2) 雙擊:myscreen.doubleClick

(3) 輸入:myscreen.type

(4) 對應(yīng)enter輸入:mykey.ENTER

(5) ctrl+a組合輸入: myscreen('a',myKeyModifier.CTRL)

上述內(nèi)容就是Python中基于sikuli jar包如何實現(xiàn)淘寶自動搶單功能,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI