使用auto.js實(shí)現(xiàn)自動化每日打卡功能
使用auto.js實(shí)現(xiàn)自動化每日打卡
疫情原因,需要在家每天定時打卡,每天剛起床的時候避免不了出現(xiàn)注意力不集中或者是看不到app,點(diǎn)不到按鈕什么的(我瞎說的)。
所以,就想搞一個自動化操作的東西,省去了這勞神費(fèi)力的每日打卡。
說干就干,于是乎就想起了之前雙十一寫的疊貓貓的無障礙腳本,所以這個還是不在話下的。
用到的工具庫:auto.js
因?yàn)閍uto.js需要依賴安卓手機(jī)上的無障礙操作。所以目前只支持安卓手機(jī)并且需要在安卓6.0以上,這個官方網(wǎng)站都有詳細(xì)介紹,我就不在此過多贅述了。多說一下,這個auto.js作者在19年的時候就不在維護(hù)了,所以我選擇的另一個接手auto.js的庫:autox.js,他們兩個都是大同小異的,用哪一個也不影響啦。
實(shí)際操作
首先需要保證電腦和手機(jī)在同一網(wǎng)絡(luò)下,并且電腦上安裝vscode,搜索插件“auto.js”去安裝。你也可以在手機(jī)上編輯代碼,但是這樣實(shí)在是不方便。安裝完成后按下“cmd+shift+P”,輸入“auto”,下面列表里會出現(xiàn)相關(guān)設(shè)置,點(diǎn)擊"開啟服務(wù)",即可在電腦上編輯auto.js代碼.
手機(jī)上需要打開設(shè)置點(diǎn)擊“連接到電腦”,輸入電腦ip,即可在電腦端看到新設(shè)備連接的提示。(注意必須首先要在電腦選擇開啟服務(wù)后才能連接)

接下來就可以利用手機(jī)端的auto.js對各個頁面進(jìn)行調(diào)試以及布局分析了。
寫好代碼以后點(diǎn)擊vscode上的保存到所有設(shè)備,剛才電腦上的代碼就同步到手機(jī)啦。點(diǎn)擊插件的運(yùn)行按鈕就可以看到運(yùn)行的全過程。
對于腳本的編寫和操作也有大把的教程,我只是作為這一個需求而寫的代碼,也沒有過多深究,有興趣的可以自己去學(xué)習(xí)。這里只說一下我遇到的一些問題。
- 當(dāng)一個頁面的組件狀態(tài)有兩個是一樣的,就需要通過寫死坐標(biāo)來點(diǎn)擊了。手機(jī)開啟開發(fā)人員選項(xiàng)中的“指針位置”就可以清楚的看到當(dāng)前手指觸摸的位置坐標(biāo)啦。
- 有的時候按鈕的clickable屬性不可用,可以試試click(“需要點(diǎn)擊的文字”),會有奇效。
最后,寫完的腳本可以利用auto.js的“打包應(yīng)用”進(jìn)行打包和分發(fā)了。
最后的最后,奉上代碼:
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);
//點(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)
//健康日報
// click(222,945)
console.log("點(diǎn)擊健康日報");
click("健康日報")
sleep(2000)
//選擇當(dāng)前日期
// 1.獲取當(dāng)天日期
console.log("計(jì)算當(dāng)前日期");
var myDate = new Date();
let day = myDate.getDate(); //對應(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)自動化每日打卡的文章就介紹到這了,更多相關(guān)auto.js自動化每日打卡內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaScript 實(shí)現(xiàn)自己的安卓手機(jī)自動化工具腳本(推薦)
- JavaScript 常見安全漏洞和自動化檢測技術(shù)
- PyQt5內(nèi)嵌瀏覽器注入JavaScript腳本實(shí)現(xiàn)自動化操作的代碼實(shí)例
- Angular.js項(xiàng)目中使用gulp實(shí)現(xiàn)自動化構(gòu)建以及壓縮打包詳解
- nodejs前端自動化構(gòu)建環(huán)境的搭建
- Angular.Js的自動化測試詳解
- 從零搭建docker+jenkins+node.js自動化部署環(huán)境的方法
- Angular.js自動化測試之protractor詳解
- python接口自動化(十七)--Json 數(shù)據(jù)處理---一次爬坑記(詳解)
- JavaScript揭秘:實(shí)現(xiàn)自動化連連看游戲
相關(guān)文章
Javascript運(yùn)行機(jī)制之Event Loop
這篇文章主要介紹了Javascript運(yùn)行機(jī)制之Event Loop,在學(xué)習(xí)Event Loop前,首先需要了解的幾個概念Javascript是單線程、任務(wù)隊(duì)列、同步任務(wù)、異步任務(wù)、Javascript執(zhí)行棧,下面來看看文章的詳細(xì)介紹吧2021-12-12
微信小程序?qū)崿F(xiàn)手指拖動選項(xiàng)排序
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)手指拖動選項(xiàng)排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04
基于javascript實(shí)現(xiàn)簡單計(jì)算器功能
這篇文章主要介紹了基于javascript實(shí)現(xiàn)簡單計(jì)算器功能的相關(guān)資料,需要的朋友可以參考下2016-01-01
JavaScript中的object轉(zhuǎn)換函數(shù)toString()與valueOf()介紹
這篇文章主要介紹了JavaScript中的object轉(zhuǎn)換函數(shù)toString()與valueOf()介紹,需要的朋友可以參考下2014-12-12
JavaScript第一個分水嶺之?dāng)?shù)組的基本操作
Arrays(數(shù)組) 數(shù)組是一個固定長度的存儲相同數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu),數(shù)組中的元素被存儲在一段連續(xù)的內(nèi)存空間中,下面這篇文章主要給大家介紹了關(guān)于JavaScript第一個分水嶺之?dāng)?shù)組的基本操作,需要的朋友可以參考下2022-04-04
能說明你的Javascript技術(shù)很爛的五個原因分析
Javascript在互聯(lián)網(wǎng)上名聲很臭,但你又很難再找到一個像它這樣如此動態(tài)、如此被廣泛使用、如此根植于我們的生活中的另外一種語言2011-10-10
typescript中type和interface的區(qū)別有哪些
大家使用typescript總會使用到interface和type,所以下面這篇文章主要給大家介紹了關(guān)于typescript中type和interface區(qū)別的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02
什么是cookie?js手動創(chuàng)建和存儲cookie
cookie 是存儲于訪問者的計(jì)算機(jī)中的變量,在這個例子中我們要創(chuàng)建一個存儲訪問者名字的 cookie,需要的朋友可以參考下2014-05-05

