使用auto.js實(shí)現(xiàn)自動(dòng)化每日打卡功能
使用auto.js實(shí)現(xiàn)自動(dòng)化每日打卡
疫情原因,需要在家每天定時(shí)打卡,每天剛起床的時(shí)候避免不了出現(xiàn)注意力不集中或者是看不到app,點(diǎn)不到按鈕什么的(我瞎說的)。
所以,就想搞一個(gè)自動(dòng)化操作的東西,省去了這勞神費(fèi)力的每日打卡。
說干就干,于是乎就想起了之前雙十一寫的疊貓貓的無障礙腳本,所以這個(gè)還是不在話下的。
用到的工具庫:auto.js
因?yàn)閍uto.js需要依賴安卓手機(jī)上的無障礙操作。所以目前只支持安卓手機(jī)并且需要在安卓6.0以上,這個(gè)官方網(wǎng)站都有詳細(xì)介紹,我就不在此過多贅述了。多說一下,這個(gè)auto.js作者在19年的時(shí)候就不在維護(hù)了,所以我選擇的另一個(gè)接手auto.js的庫:autox.js,他們兩個(gè)都是大同小異的,用哪一個(gè)也不影響啦。
實(shí)際操作
首先需要保證電腦和手機(jī)在同一網(wǎng)絡(luò)下,并且電腦上安裝vscode,搜索插件“auto.js”去安裝。你也可以在手機(jī)上編輯代碼,但是這樣實(shí)在是不方便。安裝完成后按下“cmd+shift+P”,輸入“auto”,下面列表里會(huì)出現(xiàn)相關(guān)設(shè)置,點(diǎn)擊"開啟服務(wù)",即可在電腦上編輯auto.js代碼.
手機(jī)上需要打開設(shè)置點(diǎn)擊“連接到電腦”,輸入電腦ip,即可在電腦端看到新設(shè)備連接的提示。(注意必須首先要在電腦選擇開啟服務(wù)后才能連接)
接下來就可以利用手機(jī)端的auto.js對(duì)各個(gè)頁面進(jìn)行調(diào)試以及布局分析了。
寫好代碼以后點(diǎn)擊vscode上的保存到所有設(shè)備,剛才電腦上的代碼就同步到手機(jī)啦。點(diǎn)擊插件的運(yùn)行按鈕就可以看到運(yùn)行的全過程。
對(duì)于腳本的編寫和操作也有大把的教程,我只是作為這一個(gè)需求而寫的代碼,也沒有過多深究,有興趣的可以自己去學(xué)習(xí)。這里只說一下我遇到的一些問題。
- 當(dāng)一個(gè)頁面的組件狀態(tài)有兩個(gè)是一樣的,就需要通過寫死坐標(biāo)來點(diǎn)擊了。手機(jī)開啟開發(fā)人員選項(xiàng)中的“指針位置”就可以清楚的看到當(dāng)前手指觸摸的位置坐標(biāo)啦。
- 有的時(shí)候按鈕的clickable屬性不可用,可以試試click(“需要點(diǎn)擊的文字”),會(huì)有奇效。
最后,寫完的腳本可以利用auto.js的“打包應(yīng)用”進(jìn)行打包和分發(fā)了。
最后的最后,奉上代碼:
auto() auto.waitFor(); console.show(true);//打開控制臺(tái) console.log("i輕工大自動(dòng)打卡腳本"); console.log("version--------1.1"); console.log("autuer---zhaosheng"); app.launch('io.cordova.zhqy') console.log("已打開app"); sleep(5000); //點(diǎn)擊應(yīng)用服務(wù) var fuwu = text("應(yīng)用服務(wù)").findOnce(); fuwu.click(); console.log("選擇應(yīng)用服務(wù)"); sleep(2000) console.log("點(diǎn)擊疫情防控"); click("疫情防控") sleep(2000) // 2.居家學(xué)習(xí) className("android.view.View").depth(11).desc("home").findOne().click(); console.log("點(diǎn)擊居家學(xué)習(xí)"); // id("home").findOne().click() sleep(1500) //健康日?qǐng)?bào) // click(222,945) console.log("點(diǎn)擊健康日?qǐng)?bào)"); click("健康日?qǐng)?bào)") sleep(2000) //選擇當(dāng)前日期 // 1.獲取當(dāng)天日期 console.log("計(jì)算當(dāng)前日期"); var myDate = new Date(); let day = myDate.getDate(); //對(duì)應(yīng)頁面數(shù)字 if(day < 10){ day = "0"+day console.log("當(dāng)前為:"+day); } // alert(day) click(day) console.log("點(diǎn)擊立即打卡"); click("立即打卡") sleep(3000) click("點(diǎn)擊獲取當(dāng)前位置") 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)
到此這篇關(guān)于使用auto.js實(shí)現(xiàn)自動(dòng)化每日打卡的文章就介紹到這了,更多相關(guān)auto.js自動(dòng)化每日打卡內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaScript 實(shí)現(xiàn)自己的安卓手機(jī)自動(dòng)化工具腳本(推薦)
- JavaScript 常見安全漏洞和自動(dòng)化檢測技術(shù)
- PyQt5內(nèi)嵌瀏覽器注入JavaScript腳本實(shí)現(xiàn)自動(dòng)化操作的代碼實(shí)例
- Angular.js項(xiàng)目中使用gulp實(shí)現(xiàn)自動(dòng)化構(gòu)建以及壓縮打包詳解
- nodejs前端自動(dòng)化構(gòu)建環(huán)境的搭建
- Angular.Js的自動(dòng)化測試詳解
- 從零搭建docker+jenkins+node.js自動(dòng)化部署環(huán)境的方法
- Angular.js自動(dòng)化測試之protractor詳解
- python接口自動(dòng)化(十七)--Json 數(shù)據(jù)處理---一次爬坑記(詳解)
- JavaScript揭秘:實(shí)現(xiàn)自動(dòng)化連連看游戲
相關(guān)文章
ztree獲取當(dāng)前選中節(jié)點(diǎn)子節(jié)點(diǎn)id集合的方法
這篇文章主要介紹了ztree獲取當(dāng)前選中節(jié)點(diǎn)子節(jié)點(diǎn)id集合的方法,實(shí)例分析了ztree的方法transformToArray使用技巧,需要的朋友可以參考下2015-02-02JS獲取當(dāng)前時(shí)間實(shí)例代碼(年月日時(shí)分秒)
在javascript中,可以使用Date對(duì)象中的Date()方法來獲取當(dāng)前時(shí)間,下面這篇文章主要給大家介紹了關(guān)于JS獲取當(dāng)前時(shí)間(年月日時(shí)分秒)的相關(guān)資料,需要的朋友可以參考下2022-09-09ionic由于使用了header和subheader導(dǎo)致被遮擋的問題的兩種解決方法
這篇文章主要介紹了ionic由于使用了header和subheader導(dǎo)致被遮擋的問題的兩種解決方法,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09如何在webpack項(xiàng)目中調(diào)試loader插件
最近在學(xué)習(xí)webpack,本文主要介紹了loader插件的調(diào)試方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06JavaScript事件機(jī)制的剖析與優(yōu)化詳解
在現(xiàn)代前端開發(fā)中,JavaScript事件處理是一個(gè)至關(guān)重要的部分,它能夠使網(wǎng)頁與用戶交互,實(shí)現(xiàn)豐富的交互體驗(yàn),然而,對(duì)JavaScript事件機(jī)制的深入理解是開發(fā)者成為優(yōu)秀前端工程師的關(guān)鍵所在,本文將全面剖析JavaScript事件機(jī)制,需要的朋友可以參考下2023-12-12微信小程序?qū)崿F(xiàn)點(diǎn)擊出現(xiàn)彈窗
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)點(diǎn)擊出現(xiàn)彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07