程序員過年必備 -- Auto.js微信自動搶紅包

打開微信就不用管了:

- 自動打開未讀消息html

- 自動滑動屏幕檢測紅包android

- 自動跳過無效紅包git

 

基於Auto JS,apk版本4.01:

- 大多數動做均基於控件github

- 極個別點擊基於動態抓取的座標微信

- 這就意味着不限機型或屏幕尺寸函數

 

使用說明:

- 安裝auto.js apkspa

- 導入js腳本調試

- 在auto js設置中開啓懸浮窗,由於懶得寫控制邏輯了,直接用懸浮窗控制程序開始或結束code

- 打開微信視頻

 

邏輯思路和關聯到的控件信息:

i. 檢查是否有紅包?循環上滑3次屏幕
ii. 點擊紅包消息
LinearLayout(clickable=true && depth=13 && id=atb)
iii. 檢測紅包是否可領?有無[開]
iv. 開紅包【開】
Button(desc='開' && id=dan && depth=9)


v. 取得金額
TextView(depth=13 && id=d62 && text=【金額】)
vi. 返回聊天界面
LinearLayout(depth=7 && id=m0 && clickable=true)
vii. 返回微信首頁
LinearLayout(depth=9 && id=lr && clickable=true)

 

主要代碼邏輯 - 檢測新紅包/無效紅包

Hints:

1. 若是一個控件自己沒法經過click()點擊,那麼咱們能夠利用bounds()函數獲取其座標,再利用座標點擊。例如:
var b = desc("打開側拉菜單").findOne().bounds();
click(b.centerX(), b.centerY());  //若是使用root權限,則用 Tap(b.centerX(), b.centerY());


2. 當心使用find(),findOne()等,注意仔細看原文檔,不然會莫名其妙找不到控件或被阻塞

//please avoid to use findOne() as it will jam until get one UIObject
// we could use findOne(500) or findOnce() to instead if need

 

//搜索新紅包並點開領取
function searchNewRedpacket(){ var rp_msg_list = className("android.widget.TextView").id('auk').find(); log("調試信息3" + rp_msg_list); if(rp_msg_list.length != 0){ log("檢測到的紅包個數: " + rp_msg_list.length); for(var i = 0; i < rp_msg_list.length; i++){ var rp_auk = rp_msg_list[i]; var rp_auk_parent = rp_auk.parent(); if(rp_auk_parent.childCount() == 1){ log("### 發現新紅包"); var rpB = rp_auk_parent.bounds(); click(rpB.left, rpB.top, rpB.right, rpB.bottom); log("成功打開紅包消息"); openNewRedPacket(); sleep(1000); }else if(i == (rp_msg_list.length - 1)){ log("當前頁面已檢測完"); break; }else{ log("無效紅包, 跳過"); } } }else if(rp_msg_list.empty()){ log("未檢測到紅包消息" + rp_msg_list.length); }else{ return; } }

 

主要代碼邏輯 -- 開紅包

//領取點開的紅包
function openNewRedPacket(){ var draw = desc("開").findOne(500); log("調試信息2"); if(draw != null){ log("#### 點開新紅包"); draw.click(); log("#### Gain a LUCKY succesfully!!!"); sleep(1000); //領完返回聊天主頁
 back(); }else{ log("過時之類無效紅包"); } back(); log("返回成功"); }

 

 

今天忙的有點暈,就寫這些了,須要完整代碼的留言,改天抽空上傳操做視頻和源碼到github。

 

PS: 寫這個先後大概花了4晚上(2小時/晚),原由是老婆說他們公司老闆常常發大紅包她老是搶不到。。。

今晚估計能夠讓老婆加雞腿了^_^

原文出處:https://www.cnblogs.com/chilliegg/p/12177535.html

相關文章
相關標籤/搜索