文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Auto.js安卓脚本自动化app的代码语句大全

2023-08-23 12:54

关注

一、基本语句

(一)常用

home();   // 返回home主页Back();   // 返回键sleep(1000);    // 延时1000毫秒var num = random(1,10);   // 设置1~10的随机数click("app名");    // 打开某apptoast("你好,世界");  // 底部文本提醒setText("你好,世界");   //在输入框点击出现光标,即可使用该语句填写文本 //或者setText(0,"账号"); setText(1,"密码");

(二)点击

// 设置屏幕指标再点击,使得分辨率不同的手机也点在相同的点setScreenMetrics(1080, 1920);click(800, 200);      // 按坐标点击longClick(800, 200)   // 长按600毫秒,并返回是否长按成功press(800,200,2000)   // 设置坐标长按2000毫秒,并返回是否成功

(三)按住随机滑动

// 入参(起点x,起点y,终点x,终点y,过程耗时单位毫秒)sml_move(257, 1670, 870, 1670,800);  function bezier_curves(cp, t) {    cx = 3.0 * (cp[1].x - cp[0].x);     bx = 3.0 * (cp[2].x - cp[1].x) - cx;     ax = cp[3].x - cp[0].x - cx - bx;     cy = 3.0 * (cp[1].y - cp[0].y);     by = 3.0 * (cp[2].y - cp[1].y) - cy;     ay = cp[3].y - cp[0].y - cy - by;     tSquared = t * t;     tCubed = tSquared * t;     result = {        "x": 0,        "y": 0    };    result.x = (ax * tCubed) + (bx * tSquared) + (cx * t) + cp[0].x;     result.y = (ay * tCubed) + (by * tSquared) + (cy * t) + cp[0].y;     return result; };function sml_move(qx, qy, zx, zy, time) {    var xxy = [time];    var point = [];    var dx0 = {        "x": qx,        "y": qy    };    var dx1 = {        "x": random(qx - 100, qx + 100),        "y": random(qy , qy + 50)    };    var dx2 = {        "x": random(zx - 100, zx + 100),        "y": random(zy , zy + 50),    };    var dx3 = {        "x": zx,        "y": zy    };    for (var i = 0; i < 4; i++) {        eval("point.push(dx" + i + ")");    };    log(point[3].x)    for (let i = 0; i < 1; i += 0.08) {        xxyy = [parseInt(bezier_curves(point, i).x), parseInt(bezier_curves(point, i).y)]        xxy.push(xxyy);    }    log(xxy);    gesture.apply(null, xxy);};

(四)控制台

console.show();         // 显示控制台console.log("白色");      // 控制台打印文本:白色console.info("绿色");       // 控制台打印文本:绿色console.warn("蓝色");      // 控制台打印文本:蓝色console.error("红色");     // 控制台打印文本:红色

(五)用线程自动开启截图权限

console.show();threads.start(function(){            if(auto.service != null){  //如果已经获得无障碍权限                    //由于系统间同意授权的文本不同,采用正则表达式                    let Allow = textMatches(/(允许|立即开始|统一)/).findOne(10*1000);                    if(Allow){Allow.click();                    }            }});var result = images.requestScreenCapture();    // 申请截图权限console.log(result)

(六)读写权限

//读var result = files.read("/mnt/shared/Pictures/result.txt")console.log(result)// 写files.write("/mnt/shared/Pictures/result.txt","你好,世界");    // 直接写法files.append("/mnt/shared/Pictures/reline.txt", JSON.stringify([1,2])+"\n")   // 追加写法

二、布局代码

// 常用控件属性,方便定位id("xxx").className("xxx").depth(int).text("xxx").desc("xxx")  

(一)位置

// 直接通过id找到控件点击id("hkp").findOne(10).click()  // 通过文本选择找到控件,根据控件中心坐标偏移完成点击(推荐使用)var label = className("android.widget.TextView").text("账号").findOne(10)console.log(label.bounds().centerX(),label.bounds().centerY())click(label.bounds().centerX()+200,label.bounds().centerY())   // 向控件右偏移200点击// 找到控件的父亲的第二个孩子进行点击,child(0)为第一个孩子,即控件本身className("android.widget.TextView").text("密码").findOne(10).parent().child(1).click()// 输出控件文本var label = className("android.widget.TextView").text("国家/地区").findOne(10).parent().child(1)console.log(label.text())// 按控件文本找按钮点击var button = textMatches("登录").findOne(10)if(button){button.click()}

(二)判断点击

// 等待控件出现while(!className("android.widget.TextView").text("我的").findOne(10)){sleep(500)};log("打开成功!")// 等等控件出现然后点击while(!className("android.widget.TextView").text("签到").exists()){sleep(500)}className("android.widget.TextView").text("签到").click()//找到控件文本包含内容进行点击if(textContains("签到").exists()){    textContains("签到").findOnce(0).click()     //找到第一个控件点击,第二个改1,类推}

(二)输出当前页面所有文本

for(i=0;i<1000;i++){    var label = textMatches("(.*?)").findOnce(i)    if(!label){break}    log(label.text())}

三、函数大全

1、text函数

text("签到")    // 找所有"签到"控件textContains("签到")    // 找所有包含"签到"的控件textStartWith("签到")     // 找所有"签到"开头的控件textEndsWith("签到")     // 找所有"签到"结尾的控件textContains("签到").findOnce(0)   // 找第一个包含"签到"的控件textMatches("开始(.*?)了").findOnce(0)   // 找第一个正则表达式内容

2、bounds函数

bounds().left      "长方形左边界的x坐标"bounds().right     "长方形右边界的x坐标"bounds().top       "长方形上边界的y坐标"bounds().bottom    "长方形下边界的y坐标"bounds().centerX() "长方形中点x坐标"bounds().centerY() "长方形中点y坐标"bounds().width()   "长方形宽度也就是控件宽度"bounds().height()  "长方形高度也就是控件高度"

来源地址:https://blog.csdn.net/weixin_51111267/article/details/130750182

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯