AutoJS
官網
https://hyb1996.github.io/AutoJs-Docs/#/
特性
類似於按鍵精靈和觸動精靈,特點是不需要root、免費、開源。
適合小功能開發,需要取色找色等強大復雜的腳本依然需要使用觸動精靈。
安裝及開發
Android
Android端下載好后可以直接編輯,然后運行腳本,但是編輯排版困難。
PC
PC端可以用VSCode的Auto.js-VSCodeExt插件。
先啟動PC的服務端,Ctrl + Shift + P -》Auto.js:StartServer
然后Android在同一個局域網的情況下,打左側的連接電腦,輸入電腦IP即可。
VS編輯好腳本后直接F5運行即可。
直接把代碼保存到Android端Ctrl + Shift + P -》Auto.js:Save On Device
語法
打開APP
var appName = "*寶";
launchApp(appName);
調試
toast("Hello, AutoJs!"); //展示后消失
console.log("Hello world!!!"); //打印在控制台上
console.show(); //顯示控制台
設置設備寬高比例
auto.waitFor(); //檢查該應用開啟無障礙后才執行其后面的代碼,如果未開啟無障礙,不指定代碼
var height = device.height; //設備高
var width = device.width; //設備寬
//顯示信息
toast("\n設備寬" + width + "\n" + "設備高" + height + "\n" + "手機型號" + device.model + "\n安卓版本" + device.release)
//設置設備系數指標,為了讓不同大小的屏幕按比例縮小到指定大小,這里的width, height換成自己屏幕的實際值.
setScreenMetrics(width, height);
檢測按鈕並點擊
var p1 = '逛一逛';
var p2 = '去瀏覽';
var target = text(p1).findOnce() || text(p2).findOnce(); //找p1,找不到就找p2
while (true) {
if (target == null) { //如果不存在
toast("不存在"+p1+","+p2);
break; //則跳出
}
target.click(); //點擊按鈕
sleep(25000); //等待25s
back(); //退回
sleep(2000); //等待2s
}
var r1 = '領取';
while (text(r1).exists()) { //查詢是否存在text值為r1的按鈕
toast("存在"+r1); //提示按鈕
text(r1).findOne().click(); //點擊按鈕
sleep(2000); //等待2s
continue; //繼續循環
}
點擊精確坐標
/*首先查看布局,找到bound屬性(x1,y1,x2,y2),其中x1y1代表左上角,x2y2代表右下角*/
var btn_close_x = Math.random() * (1053 - 948) + 948; //獲取按鈕范圍內x坐標
var btn_close_y = Math.random() * (954 - 915) + 915; //獲取按鈕范圍內y坐標
click(btn_close_x,btn_close_y); //點擊坐標