使用auto.js實現自動化每日打卡功能
使用auto.js實現自動化每日打卡
疫情原因,需要在傢每天定時打卡,每天剛起床的時候避免不瞭出現註意力不集中或者是看不到app,點不到按鈕什麼的(我瞎說的)。
所以,就想搞一個自動化操作的東西,省去瞭這勞神費力的每日打卡。
說幹就幹,於是乎就想起瞭之前雙十一寫的疊貓貓的無障礙腳本,所以這個還是不在話下的。
用到的工具庫:auto.js
因為auto.js需要依賴安卓手機上的無障礙操作。所以目前隻支持安卓手機並且需要在安卓6.0以上,這個官方網站都有詳細介紹,我就不在此過多贅述瞭。多說一下,這個auto.js作者在19年的時候就不在維護瞭,所以我選擇的另一個接手auto.js的庫:autox.js,他們兩個都是大同小異的,用哪一個也不影響啦。
實際操作
首先需要保證電腦和手機在同一網絡下,並且電腦上安裝vscode,搜索插件“auto.js”去安裝。你也可以在手機上編輯代碼,但是這樣實在是不方便。安裝完成後按下“cmd+shift+P”,輸入“auto”,下面列表裡會出現相關設置,點擊”開啟服務”,即可在電腦上編輯auto.js代碼.
手機上需要打開設置點擊“連接到電腦”,輸入電腦ip,即可在電腦端看到新設備連接的提示。(註意必須首先要在電腦選擇開啟服務後才能連接)
接下來就可以利用手機端的auto.js對各個頁面進行調試以及佈局分析瞭。
寫好代碼以後點擊vscode上的保存到所有設備,剛才電腦上的代碼就同步到手機啦。點擊插件的運行按鈕就可以看到運行的全過程。
對於腳本的編寫和操作也有大把的教程,我隻是作為這一個需求而寫的代碼,也沒有過多深究,有興趣的可以自己去學習。這裡隻說一下我遇到的一些問題。
- 當一個頁面的組件狀態有兩個是一樣的,就需要通過寫死坐標來點擊瞭。手機開啟開發人員選項中的“指針位置”就可以清楚的看到當前手指觸摸的位置坐標啦。
- 有的時候按鈕的clickable屬性不可用,可以試試click(“需要點擊的文字”),會有奇效。
最後,寫完的腳本可以利用auto.js的“打包應用”進行打包和分發瞭。
最後的最後,奉上代碼:
auto() auto.waitFor(); console.show(true);//打開控制臺 console.log("i輕工大自動打卡腳本"); console.log("version--------1.1"); console.log("autuer---zhaosheng"); app.launch('io.cordova.zhqy') console.log("已打開app"); sleep(5000); //點擊應用服務 var fuwu = text("應用服務").findOnce(); fuwu.click(); console.log("選擇應用服務"); sleep(2000) console.log("點擊疫情防控"); click("疫情防控") sleep(2000) // 2.居傢學習 className("android.view.View").depth(11).desc("home").findOne().click(); console.log("點擊居傢學習"); // id("home").findOne().click() sleep(1500) //健康日報 // click(222,945) console.log("點擊健康日報"); click("健康日報") sleep(2000) //選擇當前日期 // 1.獲取當天日期 console.log("計算當前日期"); var myDate = new Date(); let day = myDate.getDate(); //對應頁面數字 if(day < 10){ day = "0"+day console.log("當前為:"+day); } // alert(day) click(day) console.log("點擊立即打卡"); click("立即打卡") sleep(3000) click("點擊獲取當前位置") sleep(2000) click(244,2130) sleep(3000) swipe(550,1925,550,465,2000) swipe(550,1925,550,465,2000) sleep(2000) click(493,2095) sleep(2000) click(764,1638)
到此這篇關於使用auto.js實現自動化每日打卡的文章就介紹到這瞭,更多相關auto.js自動化每日打卡內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vscode常用快捷鍵列表、插件安裝、console.log詳解
- vscode代碼格式化快捷鍵 vscode怎麼格式化代碼
- JS中Date的一些常用方法小結
- Vue Mint UI mt-swipe的使用方式
- C++中的復制構造函數詳解