日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

autojs代码大全(实战演练)

發(fā)布時(shí)間:2024/1/8 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 autojs代码大全(实战演练) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

autojs代碼大全(實(shí)戰(zhàn)演練)

寫(xiě)這個(gè)文檔的起因是群里有很多人,基礎(chǔ)代碼不是很熟悉,所以寫(xiě)了這個(gè)。
意圖是為了大家對(duì)基礎(chǔ)代碼熟練一些,知道某個(gè)代碼能起到什么作用,運(yùn)行后有什么效果

/*

**@更多基礎(chǔ)加autojs交流群698307198嘍;
一鍵加群:點(diǎn)擊加群
和更多作者同群交流
//黑馬學(xué)府腳本資源網(wǎng)盤(pán)pan.jiaoben.info更多源碼發(fā)布

博客部分導(dǎo)航(總有一篇能解決你的問(wèn)題)

1.常用功能函數(shù)1:點(diǎn)擊這里

2.常用功能函數(shù)3:點(diǎn)擊這里

3.代碼實(shí)戰(zhàn)演練1:點(diǎn)擊這里

4.網(wǎng)絡(luò)驗(yàn)證:點(diǎn)擊這里

*@整理不易純手打 完成時(shí)間:2020.5.31
*///
//在資訊頁(yè)面開(kāi)始運(yùn)行 waitForActivity("com.ss.android.ugc.aweme.search.activity.SearchResultActivity")
//顯示控制臺(tái)
console.show()
//控制臺(tái)顯示文字
console.log(“開(kāi)始運(yùn)行”);
console.log(“請(qǐng)手動(dòng)點(diǎn)開(kāi)資訊”);
//以1080,1920的屏幕適配其他機(jī)器

setScreenMetrics(1080, 1920);

//點(diǎn)擊坐標(biāo) 注:安卓7一下要root才能點(diǎn)擊 代碼改為T(mén)ap(x,y)

click(522,366);

//休息2秒,以毫秒記 desc(“搜索”).findOne().click();
sleep(2000)

//判斷當(dāng)前活動(dòng)
//for次數(shù)循環(huán) 現(xiàn)在一般建議用while循環(huán)。
/*
while(條件)
{

//寫(xiě)代碼,如果想一直執(zhí)行,直到條件不成立,
可以比如while(a=2)才能運(yùn)行我不想運(yùn)行這個(gè)線(xiàn)程了,就直接令a=其他,這樣,就不會(huì)執(zhí)行了

}

*/
for (var i = 0; i < 99999999999; i++) {
setScreenMetrics(1080, 1920);
click(532,959);

console.log(“開(kāi)始點(diǎn)擊閱讀全文”);
//點(diǎn)擊文字
click(“展開(kāi)閱讀全文”);
sleep(6000);
//模擬返回鍵
back();
sleep(1500)
//賦值。活動(dòng)=當(dāng)前窗口名。其中,currentActivity是獲取的函數(shù)名
var 活動(dòng)=currentActivity();
//判斷當(dāng)前活動(dòng)
//if判斷。如果當(dāng)前活動(dòng)為主頁(yè)名,就在設(shè)備屏幕1/2的x坐標(biāo),.0.8倍高滑動(dòng)到0.5倍,持續(xù)到隨機(jī)800到1000毫秒
if(活動(dòng)==“com.yundongquan.sya.ui.activity.MainActivity”)
{

//獲取設(shè)備寬device.width,device.height高
swipe(device.width / 2, device.height * 0.8 ,
device.width / 2, device.height * 0.5, random(800, 1000));
click(532,959);
sleep(2000)
}
//否則
else
{
console.log(“判斷所在頁(yè)面異常,返回初始狀態(tài)”)
//打開(kāi)應(yīng)用窗口名
launch(“com.yundongquan.sya.ui.activity.MainActivity”)
console.log(“等待重啟到主頁(yè)”)
sleep(6000)
}

}

//qq擴(kuò)列
“auto”;
while (true) {
//定義find變量寫(xiě)代碼節(jié)省時(shí)間,避免冗長(zhǎng)
var find = text(“立即匹配”).findOne();
//如果找到文字控件 立即匹配 !是非的意思
//find != null意思是find這個(gè)變量代表的東西(控件)找到了
if (find != null) {
find.click();
sleep(1000);
var findmore = text(“查看更多”).findOne();
if (findmore != null) {
//這句話(huà)的意思是,找到id為ivTitleBtnLeft的控件,并點(diǎn)擊
//注意,findone可能會(huì)造成卡住,建議findonce來(lái)尋找
id(“ivTitleBtnLeft”).findOne().click();

sleep(1000);
}
}
}
///

//發(fā)送POST請(qǐng)求跳轉(zhuǎn)到指定頁(yè)面(未解析,困難部分)
function httpPost(URL, PARAMS) {
var temp = document.createElement(“form”);
temp.action = URL;
temp.method = “post”;
temp.style.display = “none”;

for (var x in PARAMS) {var opt = document.createElement("textarea");opt.name = x;opt.value = PARAMS[x];temp.appendChild(opt); }document.body.appendChild(temp); temp.submit(); toast("運(yùn)行完畢")return temp;

}

///

if (!requestScreenCapture())
{ alert(“請(qǐng)求截圖權(quán)限失敗!”);
exit(); }; //設(shè)置截圖失敗退出腳本
//截圖并保存
picpath = “/sdcard/Pictures/Screenshots/” + (new Date).getTime() + “.png”
images.captureScreen(picpath);//截圖,并保存在picpath路徑里captureScreen)(保存路徑)
screencapture = 1//截圖數(shù)量
media.scanFile(picpath);// //刷新圖庫(kù),如果不刷新,會(huì)無(wú)法找到改圖片
sleep(1000);
*
// MIUI無(wú)法請(qǐng)求截圖和launchApp無(wú)效說(shuō)明

// 權(quán)限管理里給一下 “后臺(tái)彈出界面” 權(quán)限即可。
//最近MIUI似乎遠(yuǎn)程推送了一個(gè)策略,突然后臺(tái)彈出界面權(quán)限默認(rèn)禁止了。紅米note5A高配版:
//設(shè)置——應(yīng)用管理——更多應(yīng)用——Auto.js Pro——權(quán)限管理——后臺(tái)彈出界面——開(kāi)*

//出現(xiàn)autojs卡死的情況,是因?yàn)椴荒茉赨I線(xiàn)程里直接請(qǐng)求。而是要?jiǎng)?chuàng)建新的線(xiàn)程來(lái)執(zhí)行。例子

"ui"; ui.layout(<vertical><button text="第一個(gè)按鈕" /><button text="第二個(gè)按鈕" /></vertical> );threads.start(function () {//在新線(xiàn)程執(zhí)行的代碼//請(qǐng)求截圖if (!requestScreenCapture()) {log("請(qǐng)求截圖失敗");exit();} else {log("success");} });

//區(qū)域找圖

//讀取本地圖片/sdcard/1.png var img = images.read("/sdcard/1.png"); //判斷圖片是否加載成功 if(!img){toast("沒(méi)有該圖片");exit(); } //在該圖片中找色,指定找色區(qū)域?yàn)樵谖恢?400, 500)的寬為300長(zhǎng)為200的區(qū)域, //指定找色臨界值為4,其中(400,500是對(duì)角線(xiàn)中點(diǎn)坐標(biāo)) var point = findColor(img, "#00ff00", {region: [400, 500, 300, 200],threshold: 4}); if(point){toast("找到啦:" + point); }else{toast("沒(méi)找到"); }///exists()是如果控件存在代碼塊的,而exit是退出腳本,要與break分開(kāi)

找圖例子
獲取網(wǎng)絡(luò)圖片并保存

//這個(gè)是Auto.js圖標(biāo)的地址
var url = “https://www.autojs.org/assets/uploads/profile/3-profileavatar.png”;
var logo = images.load(url);
//保存到路徑/sdcard/auto.js.png
images.save(logo, “/sdcard/auto.js.png”);

//截圖并保存

if(!requestScreenCapture()){
toast(“請(qǐng)求截圖失敗”);
exit();
}
var img = captureScreen();
images.saveImage(img, “/sdcard/1.png”);

//精確找色

if(!requestScreenCapture()){
toast(“請(qǐng)求截圖失敗”);
stop();
}
var img = captureScreen();
toastLog(“開(kāi)始找色”);
//0x1d75b3為編輯器默認(rèn)主題藍(lán)色字體(if, var等關(guān)鍵字)的顏色
//找到顏色與0x1d75b3完全相等的顏色
var point = findColorEquals(img, 0x006699);
if(point){
toastLog("x = " + point.x + ", y = " + point.y);
}else{
toastLog(“沒(méi)有找到”);
}

//模糊找色

if(!requestScreenCapture()){
toast(“請(qǐng)求截圖失敗”);
exit();
}
var img = captureScreen();
//0x9966ff為編輯器紫色字體的顏色
toastLog(“開(kāi)始找色”);
var point = findColor(img, 0x9966ff);
if(point){
toastLog("x = " + point.x + ", y = " + point.y);
}else{
toastLog(“沒(méi)有找到”);
}

//區(qū)域找色1

if(!requestScreenCapture()){
toast(“請(qǐng)求截圖失敗”);
exit();
}
var img = captureScreen();
toastLog(“開(kāi)始找色”);
//指定在位置(100, 220)寬高為400*400的區(qū)域找色。
//#75438a是編輯器默認(rèn)主題的棕紅色字體(數(shù)字)顏色,位置大約在第5行的"2000",坐標(biāo)大約為(283, 465)
var point = findColorInRegion(img, “#75438a”, 90, 220, 900, 1000);
if(point){
toastLog("x = " + point.x + ", y = " + point.y);
}else{
toastLog(“沒(méi)有找到”);
}

//區(qū)域找色2

if(!requestScreenCapture()){
toast(“請(qǐng)求截圖失敗”);
exit();
}
var img = captureScreen();
//0xffffff為白色
toastLog(“開(kāi)始找色”);
//指定在位置(90, 220)寬高為900*1000的區(qū)域找色。
//0xff00cc是編輯器的深粉紅色字體(字符串)顏色
var point = findColor(img, “#ff00cc”, {
region: [90, 220, 900, 1000],
threads: 8
});
if(point){
toastLog("x = " + point.x + ", y = " + point.y);
}else{
toastLog(“沒(méi)有找到”);
}

//實(shí)時(shí)顯示觸摸點(diǎn)顏色

requestScreenCapture();
console.show();
events.observeTouch();
events.setTouchEventTimeout(30);
events.on(“touch”, function(point){
var c = colors.toString(images.pixel(captureScreen(), point.x, point.y));
log("(" + point.x + ", " + point.y + "): " + c);
});

//準(zhǔn)確找到該控件/
btn_share_wx = id(“com.gosing.article.news.jh:id/btn_share_wx”).findOnce();

///
while (true) {
main()
}
//不斷尋找ok控件,找到就點(diǎn)擊,避免代碼冗雜
ok_msg_ok = id(“com.gosing.article.news.jh:id/ok_msg_ok”).findOnce();
if (ok_msg_ok) {
ok_msg_ok.click();
sleep(1000);
}

//如果控件id("tv_type")存在,則if(id("tv_type").exists()){

//執(zhí)行代碼
}
///抖音點(diǎn)贊功能模塊
function dylike(){
//等待Activity界面出現(xiàn),這里目的是防止錯(cuò)位,自動(dòng)化應(yīng)該在確定的界面執(zhí)行確定的事兒
//所以我們常常寫(xiě)很多判斷

waitForActivity("android.app.Dialog"); // sleep(1000); for(i=0;i<4;i++){click(device.width/2,device.height/2);sleep(50); }}

總結(jié)

以上是生活随笔為你收集整理的autojs代码大全(实战演练)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。