美文网首页
auto js 的安装及使用

auto js 的安装及使用

作者: 王镇_ee87 | 来源:发表于2021-05-26 13:48 被阅读0次

    注意 必须安卓7版本及以上,版本5-6的系统会遇到意想不到的bug 跳转

    1. 手机端的安装预配置
    下载链接: https://hyb1996.github.io/AutoJs-Docs/#/
    

    安装以后 打开无障碍服务,然后连接电脑


    image.png

    这里输入同一网络下的电脑ip

    1. 电脑下载vscode 并安装autojs插件
      image.png
      注意 连接以前一定要开启Autojs服务 Ctrl + Shift + P > Autojs start server
    2. 新建js代码,然后 Ctrl + Shift + P > autojs Run 代码就会在手机上执行。

    常用命令

    getClip()  获取手机粘贴板
    
    toast("hello");   //悬浮框
    
    launchApp("QQ");  //打开QQ : 直接打开,手机应用的名称大小写敏感
    
    launch("com.tencent.mobileqq");  //注意: 用包名,打开软件
    
    back(); //返回
     
     
    // 使用 应用名称,获取应用的包名.
    var PackageName;
    PackageName=getPackageName("QQ");
    log(PackageName);
     
     
     
    //使用 包名,获取 应用名称. 
    var AppName;
    AppName = getAppName("com.tencent.mobileqq");
    log(AppName);
     
    单击事件(坐标)
    click("x", "y");
     
    单击事件(元素)
    id("element_id").findOne().click();
     
    //打开应用的详情页面(用包名打开)
    app.openAppsetting("com.tencent.mobileqq");
    
    获取文本的坐标位置
    var str = "";
    var x = text(str).findOne().bounds().left;// 首次出现的x坐标
    var y = text(str).findOne().bounds().top;// 首次出现的y坐标
     
    子字符串判断
    function judge_include_str(str, sub_str){
        if(("".equals(str)) || ("".equals(sub_str))){
            return -1;
        }
        return str.indexOf(sub_str, 0);
    }
     
    当前页面显示内容
    function screen_content(){
        var fas = "";
        var fsfan = className("TextView").find();
        for(var i = 0; i < fsfan.length; i++){
            var ftxt = fsfan[i].text();
            if(ftxt != ""){
                if(fas == ""){
                    fas = ftxt;
                }else{
                    fas = fas +"_-_"+ ftxt;
                }
            }
        }
        fsfan = className("Button").find();
        for(i = 0; i < fsfan.length; i++){
            ftxt = fsfan[i].text();
            if(ftxt != ""){
                if(fas == ""){
                    fas = ftxt;
                }else{
                    fas = fas +"_-_"+ ftxt;
                }
            }
        }
        fsfan = className("android.view.View").find();
        for(i = 0; i < fsfan.length; i++){
            ftxt = fsfan[i].text();
            if(ftxt != ""){
                if(fas == ""){
                    fas = ftxt;
                }else{
                    fas = fas +"_-_"+ ftxt;
                }
            }
        }
        return fas;
    }
    
    睡眠函数  1000 = 1秒
    function sleep(numberMillis) { 
    var now = new Date(); 
    var exitTime = now.getTime() + numberMillis; 
    while (true) { 
    now = new Date(); 
    if (now.getTime() > exitTime) 
    return; 
    } 
    }
    
    当前页面的内容判断
    function judge_page_include_str(sub_str){
        str = screen_content();
        if(("".equals(str)) || ("".equals(sub_str))){
            return false;
        }
        var ind = str.indexOf(sub_str, 0)
        if(ind>0){
            return true;
        }else{
            return false;
        }
    }
    
    //此代码由飞云脚本圈整理提供(www.feiyunjs.com)
    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; 
    };
    
    
    
    //仿真随机带曲线滑动  
    //qx, qy, zx, zy, time 代表起点x,起点y,终点x,终点y,过程耗时单位毫秒
    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);
    };
    
    
    
    
    
    while (1<5)
    {
    
       sleep(4000)
       sml_move(530, 2350, 440, 450, 1470);   // 起始点_X , 起始点_Y,终点_X,终点_Y,滑动需要的时间 1.47秒
    
    }
    
    
    
    //打开卸载APP对话框
    app.uninstall("com.tencent.mobileqq");
    

    相关文章

      网友评论

          本文标题:auto js 的安装及使用

          本文链接:https://www.haomeiwen.com/subject/clvrsltx.html