您好,登錄后才能下訂單哦!
本篇文章為大家展示了Python中基于sikuli jar包如何實現淘寶自動搶單功能,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
記得節前,西哥問我能不能幫忙寫個淘寶自動搶單的功能。其實之前就有提到過sikuli IDE工具,可以很方便地實現圖形化自動化,只是當時并沒有真正用python實現。
因此剛好借這個機會,進一步熟悉python和sikuli框架之間的使用。
【效果如下 】
以下 操作全部由代碼模擬用戶鼠標操作進行的 。當前僅實現了自動打開瀏覽器并把商品加入 購物車,后續功能有待優化和 實現。
【示例代碼】
# coding=utf-8
# @Auther : "鵬哥賊優秀"
# @Date : 2019/10/1
# @Software : PyCharm
from jpype import *
import jpype
import 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 如何調用jar包
之前搶紅包的博客,主要是基于sikuli IDE,即自身的app軟件界面實現的。但是在下載sikuli程序時,其實還下載了一個sikuliapi.jar包。
因此現在的問題就是如何用Python調用jar包了。很簡單,可以使用jpype庫或者jython庫。本文是 以jpype為例。(當前前提是本地電腦已經安裝java,并成功配置java環境變量;如果不會配置java或者安裝的同學,可 以自行百度)
(1)獲取jvm路徑信息;
(2)啟動Jvm,即可調用到你想要的jar包。
2、sikuli jar包的功能使用
(1) screen:獲取當前屏幕,之后 再進行具體按鈕的操作;對應函數有用于確定屏幕范圍的capture(x1,y1,x2,y2),也有手動確定檢測屏幕范圍的selectRegion();
(2) Pattern:用于圖像匹配,支持相似度similiar(0.7)、偏移量設置targetOffset(10,30)。0.7表示相似度為70%,10表示向上移10個像素,30表示向右移30個像素;
(3) Key:用于鍵盤輸入;
(4) KeyModifier:用于獲取鍵盤控制對象,比如ctrl/alt/shift等,多用于 ctrl+A之類的組合
對應的屏幕操作:
(1) 單擊:myscreen.click
(2) 雙擊:myscreen.doubleClick
(3) 輸入:myscreen.type
(4) 對應enter輸入:mykey.ENTER
(5) ctrl+a組合輸入: myscreen('a',myKeyModifier.CTRL)
上述內容就是Python中基于sikuli jar包如何實現淘寶自動搶單功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。