当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 来一起学习脚本语言吧,简单,高效,解放双手,感受自由!

来一起学习脚本语言吧,简单,高效,解放双手,感受自由!

2020年07月08日  | 移动技术网IT编程  | 我要评论

在家无聊翻博客,突然就发现脚本语言的“奇妙之处”,哈哈哈~兴趣一来,就立马动身前往拥有丰富资源的B站上开始了新的学习之旅…
还是“菜鸡”一枚,写个微信运动自动点赞还一直出bug(我平时也不怎么看微信运动的),就前两天我一直测试,给朋友点赞,朋友个个都“夸”我勤快…哈哈哈~(汗颜)
这不是花了三天时间写了一个“破脚本”,说出来不怕笑话,([小声的说道]就是那种‘芭芭农场’可以淘宝自动做任务施肥的)/丢人啦~
什么???你问博主为什么这么无聊?/微笑
原因就是:

  1. 在家放假呆了大半年,我也真是的···(看我ID应该可以看出来)【坚强的微笑】···
  2. 在家里我“亲爱的姐姐”每天提醒我给树施肥,说是快要成熟了,到时候可以领水果。。。【我也挺无奈的,害~】
  3. 最后一点,我确实是个菜鸡,哈哈哈~~也只能做个这种自娱自乐了,还不错,省下了我的时间,可以让脚本每天自动帮我给树施施肥。。。到时候就可以吃到“脚本为我种出来的树 ~额不 ~水果了。”

我写这篇博客呢,就是为了记录一下我的“战果”,毕竟再小的成果也都会有收获,也希望能在网络上留下一点自己的东西,最重要的是分享、分享、分享。。。

切入正题:
脚本名称:淘宝芭芭农场自动施肥
功能:顾名思义,那不就是芭芭农场自动做任务施肥吗~(这博主竟说废话)
运行环境:auto.js软件(Version 4.1.1 Alpha2)、我的脚本、淘宝。。。
这里我说明一下我的设备:
1. 笔记本电脑一台(用来调试代码)
2. 手机两个

  • 红米note8P(MIUI 11.0.3.0稳定版、Android10)
  • 魅蓝note5(Flyme8.0.0.0A、Android7.0)

其中,auto.js不知道是什么的小伙伴可以去百度了解一下哦~
该交代的也差不多了,后面我会把用到的资源传上去,感兴趣的小伙伴可以试着玩一玩,如果出现Bug也希望可以告知小弟一声,共同学习进步~~~
直接上代码

if (!requestScreenCapture()) {  // 截图权限
    toastLog("Error:没有截图权限,程序退出");
    exit();
}

function findImg(l_img_path) {
    var l_img = images.read(l_img_path);
    if (!l_img) {
        toastLog("Error:要找的图片不存在,请检查...");
        exit();
    }
    var i = findImage(images.captureScreen(), l_img);
    l_img.recycle();
    if (i) {
        return i;
    } else {
        return false;
    }
}

function startApp(Appname) {    // 检测App是否运行成功
    var ap = app.launchApp(Appname);
    if (ap) {
        toastLog(Appname + "启动成功");
    } else {
        toastLog("Error:" + Appname + "启动失败");
        exit();
    }
}

function waterTheTrees() {  // 淘宝给树施肥
    // 获取集肥料控件
    var feiliao = className("android.widget.Image").indexInParent(6).findOnce();
    if (feiliao) {
        feiliao.click();
        log("点击集肥料开始任务");
        sleep(1000);

        while (true) { // 循环做任务
            var quqiandao = className("android.widget.Button").text("去签到").findOnce();
            var quguangguang = className("android.widget.Button").text("去逛逛").findOnce();
            var quliulan = className("android.widget.Button").text("去浏览").findOnce();
            var qulingqu = className("android.widget.Button").text("去领取").findOnce();
            var quhuanzhuang = className("android.widget.Button").text("去换装").findOnce();
    
            if (!quqiandao && !quguangguang && !qulingqu && !quliulan && !quhuanzhuang) {
                toastLog("任务全部完成");
                sleep(1000);
                break;
            }
    
            while (true) { // 循环判断去签到任务
                var quqiandao = className("android.widget.Button").text("去签到").findOnce();
                if (quqiandao) {
                    quqiandao.click();
                    toastLog("签到成功");
                    sleep(1000);
                } else {
                    log("签到完成");
                    sleep(1000);
                    break;
                }
            }
    
            while (true) {  // 循环判断页面有没有去逛逛的任务
                // 判断页面是否存在去浏览字样
                var quguangguang = className("android.widget.Button").text("去逛逛").findOnce();
                if (quguangguang) {
                    quguangguang.click();
                    toastLog("去逛逛...");
                    sleep(1000);
                    sleep(20000);
                    toastLog("去逛逛完成");
                    back();
                    sleep(1000);
                } else {
                    log("去逛逛任务已完成");
                    sleep(1000);
                    break;
                }
            }
    
            while (true) {  // 循环判断页面有没有去浏览的任务
                // 判断页面是否存在去浏览字样
                var quliulan = className("android.widget.Button").text("去浏览").findOnce();
                if (quliulan) {
                    quliulan.click();
                    toastLog("去浏览...");
                    sleep(1000);
                    var paishe = className("android.widget.FrameLayout").id("scan_icon").findOne(1000);
                    if (paishe) { // 进入到拍立淘界面 执行的动作
                        toastLog("进入拍立淘界面");
                        swipe(device.width / 2, device.height / 2 + 500, device.width / 2, device.height / 2 - 100, 2000);
                        toastLog("正在浏览...(25秒后返回)");
                        sleep(25000);
                        toastLog("浏览成功");
                        back();
                    } else {
                        sleep(25000);
                        toastLog("浏览成功");
                        back();
                        sleep(2000);
                    }
                    sleep(1000);
                } else {
                    log("去浏览任务已完成");
                    break;
                }
            }
    
            while (true) {  // 循环判断页面有没有去领取的任务
                // 判断页面是否存在去领取字样
                var qulingqu = className("android.widget.Button").text("去领取").findOnce();
                if (qulingqu) {
                    qulingqu.click();
                    toastLog("领取成功");
                    sleep(1000);
                } else {
                    log("去领取任务已完成");
                    sleep(1000);
                    break;
                }
            }
    
            while (true) {  // 循环判断页面有没有去换装的任务
                // 判断页面是否存在去换装字样
                var quhuanzhuang = className("android.widget.Button").text("去换装").findOnce();
                if (quhuanzhuang) {
                    quhuanzhuang.click();
                    toastLog("去换装...");
                    sleep(1000);
    
                    var quhuoqu = "/sdcard/脚本/img/换装_去获取.png";
                    while (true) {
                        var quhuoqu_exist = findImg(quhuoqu);
                        if (quhuoqu_exist) {
                            toastLog("进入去换装界面");
                            break;
                        } else {
                            toastLog("正在进入去换装界面...");
                            sleep(2000);
                        }
                    }
                    toastLog("5秒后返回...");
                    sleep(5000);
                    toastLog("去换装成功");
                    back();
                    sleep(1000);
                } else {
                    log("去换装任务已完成");
                    break;
                }
            }
        }
    } else {
        toastLog("Error:找不到集肥料...");
        exit();
    }

    // 任务完成,点击右上角关闭按钮
    var shutDown = className("android.widget.Button").clickable(true).text("关闭").findOnce();
    if (shutDown) {
        shutDown.click();
        sleep(1000);
    }

    // 领取肥料
    var getManuer = "/sdcard/脚本/img/领取肥料.png";
    var get_location = findImg(getManuer);
    if (get_location) {
        press(get_location.x + 60, get_location.y + 100, 250);
        sleep(1000);

        var getManuer_stop = className("android.view.View").text("去施肥,赚更多肥料").findOnce();
        if (getManuer_stop) {
            getManuer_stop.click();
            log("肥料已领取");
            sleep(1000);
        } else {
            toastLog("领取肥料");
        }
    } else {
        toastLog("Error:未找到领取肥料");
        exit();
    }

    // 施肥
    var feed = "/sdcard/脚本/img/施肥.png";
    var feed_location = findImg(feed);
    while (true) {
        if (feed_location) {
            press(feed_location.x, feed_location.y, 250);
            sleep(1000);

            var feed_stop = className("android.view.View").text("去集肥料").findOnce();
            if (feed_stop) {
                log("施肥已完成");
                break;
            }
        } else {
            toastLog("Error:施肥失败");
            break;
        }
    }
}

function gather_sun () { // 阳光农场收集阳光
    var sun_img = "/sdcard/脚本/img/阳光.png";
    while (true) { // 循环收集阳光
        var sun_location = findImg(sun_img);
        if (sun_location) {
            press(sun_location.x, sun_location.y, 250);
            sleep(1000);
        } else {
            var farmUpgrade = "/sdcard/脚本/img/农场升级了.png";
            var farmUpgrade_exist = findImg(farmUpgrade);
            if (farmUpgrade_exist) {
                toastLog("农场升级...");
                sleep(2000);
                var take = "/sdcard/脚本/img/立即收取阳光.png";
                var take_location = findImg(take);
                if (take_location) {
                    press(take_location.x, take_location.y, 300);
                    sleep(2000);
                }
            } else {
                toastLog("阳光收取完成");
                sleep(2000);
                return true;
            }
        }
    }
}

startApp("手机淘宝");
var mytb = className("android.widget.FrameLayout").desc("我的淘宝").findOne(3000);
if (mytb) {
    mytb.click();
    log("进入我的淘宝页面");

    var BBFarm = className("android.widget.FrameLayout").desc("芭芭农场").findOne(3000);
    if (BBFarm) {
        BBFarm.click();
        sleep(1000);

        var tree = "/sdcard/脚本/img/苹果树.png";
        
        while (true) {
            var shou = className("android.view.View").text("立即去收").findOnce();
            if (shou) { // 第一次进入可能会弹出立即去收界面处理
                shou.click();
                log("点击立即去收");
                sleep(1000);
            }

            var hezhong = className("android.view.View").text("合种").findOnce();
            var tree_location = findImg(tree);

            if (hezhong || tree_location) { // 判断进入的是阳光农场还是施肥界面
                if (tree_location) {
                    toastLog("进入阳光农场");
    
                    gather_sun(); // 收阳光
                    press(tree_location.x, tree_location.y, 250);
                }
                
                if (hezhong) {
                    toastLog("进入施肥页面");
                    sleep(1000);

                    waterTheTrees(); // 做任务和施肥
                    break;
                }
            } else {
                toastLog("正在加载...");
                sleep(2000);
            } 
        }
        toastLog("脚本结束,欢迎下次使用");
    } else {
        toastLog("Error:未找到芭芭农场入口")
    }
} else {
    toastLog("Error:当前未在淘宝首页");
}

手机下载auto.js安装好,添加脚本 -> 复制这一坨代码进去就可以了
对了,还有一件事。。。
里面还有一些需要图片来判断在不在当前位置,稍后我会把资源上传上去,不要慌(年轻人要蛋定)不大,就几十k的样子。

链接在此
》》》》》》》》》公共链接: https://ws28.cn/f/2xq77r07s14 密码: 1731《《《《《《《《《《《
使用教程
下载好后是一个压缩包,我把js脚本文件和图片文件夹压缩在一起了,下载好后解压到你的根目录下面的名字为脚本的文件
夹下面,如果你安装了auto.js默认会在你的sdcard下面创建这样一个文件夹,如果没有新建一个名字为脚本的文件夹放到下面就好了。(特别提醒:记住千万不要放错位置了

最后贴上博主喜欢的一句话:知足且坚定,温柔而上进

本文地址:https://blog.csdn.net/qq_23104703/article/details/107141623

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网