来一起学习脚本语言吧,简单,高效,解放双手,感受*!
在家无聊翻博客,突然就发现脚本语言的“奇妙之处”,哈哈哈~兴趣一来,就立马动身前往拥有丰富资源的B站上开始了新的学习之旅…
还是“菜鸡”一枚,写个微信运动自动点赞还一直出bug(我平时也不怎么看微信运动的),就前两天我一直测试,给朋友点赞,朋友个个都“夸”我勤快…哈哈哈~(汗颜)
这不是花了三天时间写了一个“破脚本”,说出来不怕笑话,([小声的说道]就是那种‘芭芭农场’可以淘宝自动做任务施肥的)/丢人啦~
什么???你问博主为什么这么无聊?/微笑
原因就是:
- 在家放假呆了大半年,我也真是的···(看我ID应该可以看出来)【坚强的微笑】···
- 在家里我“亲爱的姐姐”每天提醒我给树施肥,说是快要成熟了,到时候可以领水果。。。【我也挺无奈的,害~】
- 最后一点,我确实是个菜鸡,哈哈哈~~也只能做个这种自娱自乐了,还不错,省下了我的时间,可以让脚本每天自动帮我给树施施肥。。。到时候就可以吃到“脚本为我种出来的树 ~额不 ~水果了。”
我写这篇博客呢,就是为了记录一下我的“战果”,毕竟再小的成果也都会有收获,也希望能在网络上留下一点自己的东西,最重要的是分享、分享、分享。。。
切入正题:
脚本名称:淘宝芭芭农场自动施肥
功能:顾名思义,那不就是芭芭农场自动做任务施肥吗~(这博主竟说废话)
运行环境: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
上一篇: 求你了,别再问我Zookeeper如何实现分布式锁了!!!
下一篇: python之协程学习