使用auto.js 4.0(官方免费)或者auto.js pro(官方收费),下载安装好auto后创建项目,直接复制下列代码就可以运行了。文章后面有auto的两个版本安装包!!!
//自动缩放分辨率
var height = device.height; //获取屏幕高
var width = device.width;
//var whichOne = 0;
setScreenMetrics(width, height);
//自动把音量调为0
if (confirm('是否需要自动调整媒体音量为0', '以免直播任务发出声音。需要修改系统设置权限。')) {
try {
device.setMusicVolume(0)
toast('成功设置媒体音量为0')
} catch (err) {
alert('首先需要开启权限,请开启后再次运行脚本')
exit()
}
} else {
toast('不修改媒体音量')
}
//显示控制台
console.show();
sleep(400);
console.setPosition(-40, 480);
console.setSize(500, 530);
log("start");
toast('start');
//设置监听器,按音量-停止脚本
function registerKey() {
events.observeKey();
events.onKeyDown('volume_down', function(event) {
console.log('已手动关闭脚本');
console.log('即将退出并关闭控制台');
toast('退出脚本');
sleep(3000);
console.hide();
//device.cancelKeepingAwake(); //关闭屏幕常亮
back();
sleep(200);
back();
sleep(200);
back();
sleep(200);
home();
exit();
});
}
threads.start(registerKey); //开启监听
log("按音量-,提前结束脚本");
toast('按音量-,提前结束脚本');
sleep(1500);
//喂鸡y坐标
var n = 2150; //全屏导航
var m = 2030; //底下三点导航
log("请打开无障碍权限");
toast('请打开无障碍权限');
auto.waitFor();
sleep(700);
home();
sleep(1000);
log("权限已打开");
toast('权限已打开');
app.launchApp("淘宝");
log("正在进入淘宝首页");
toast('正在进入淘宝首页');
// if(desc("我的淘宝").exists()){
// click("淘宝");
// }
log("若长时间未进入淘宝,请手动进入");
desc("我的淘宝").waitFor();
//签到
if (desc("签到").exists()) {
desc("签到").click();
text("红包签到").waitFor();
sleep(1000);
back();
sleep(2500);
}
//到611行执行
/************函数区**************** */
// 自定义一个findTextDescMatchesTimeout(文本或描述匹配函数)
// function findTextDescMatchesTimeout(reg, timeout) {
// let c = 0
// while (c < timeout / 50) {
// let result = textMatches(reg).findOnce() || descMatches(reg).findOnce();
// if (result) return result;
// sleep(50);
// c++;
// }
// return null;
// }
//模拟滑动(防检测)
function slideScreenDown(startX, startY, endX, endY, pressTime, timeSleep) {
//产生随机数
var x1 = random(startX, startX + 100);
var x2 = random(endX, endX + 100);
var y1 = random(startY, startY + 100);
var y2 = random(endY, endY + 100);
var pressTime1 = random(pressTime, pressTime + 500);
var timeSleep1 = random(timeSleep, timeSleep + 1000);
swipe(x1, y1, x2, y2, pressTime1); //模拟从坐标x1,y1,x2,y2滑动
sleep(timeSleep1);
}
function 亲密度检查() {
log("亲密度检查");
if (text("50").exists() || textContains("100").exists() || text("150").exists()) {
log("有亲密度检查");
click("亲密度");
sleep(1000);
var a = [];
log(text("立即领取").exists());
a = text("立即领取").find();
var i = text("立即领取").find().size();
while (i) {
i--;
sleep(1000);
a[i].click();
}
}
}
function 亲密度弹窗() {
log("是否亲密度弹窗");
if (text("有亲密奖励可领取哦").exists() || textContains("获得了奖励").exists() || text("立即领取").exists()) {
log("是");
click("立即领取");
sleep(1500);
var a = [];
log(text("立即领取").exists());
toast('有奖励');
a = text("立即领取").find();
var i = text("立即领取").find().size();
while (i) {
i--;
sleep(1000);
a[i].click();
}
}
}
function 进入芭芭农场() {
if (desc("芭芭农场").exists()) {
desc("芭芭农场").click();
} else {
desc("我的淘宝").click();
sleep(2500);
var x = desc("芭芭农场").findOne().bounds().centerX();
var y = desc("芭芭农场").findOne().bounds().centerY();
click(x, y);
}
log("已进入芭芭农场,请等候!");
toast('请稍等');
sleep(8000);
log("检查弹窗1");
toast('检查弹窗1');
if (text("继续努力").exists()) {
click("继续努力");
}
sleep(3000);
log("检查弹窗2");
toast('检查弹窗2');
亲密度弹窗();
text("更多").className("android.widget.Button").waitFor();
log("等待完毕");
sleep(2000);
//点击小白兔
click(210, 1500);
log("点击小白兔");
}
function 滑动() {
log("滑动");
var f = 1;
var t_ime = 13;
while (f) {
//防止检测不到完成控件
if (!(t_ime)) {
f = 0;
}
t_ime--;
scrollForward();
sleep(1000);
if (textContains("任务已经").exists() || desc("任务完成").exists()) {
log("退出滑动");
toast('退出滑动');
sleep(1000);
f = 0;
} else if (textContains("浏览完成").exists() || text("任务完成").exists()) {
log("退出滑动");
toast('退出滑动');
sleep(1000);
f = 0;
} else if (!(textContains("点击或滑动").exists()) && textContains("若发生退款").exists()) {
log("退出滑动");
toast('退出滑动');
sleep(1000);
f = 0;
}
}
log("退出滑动");
back();
sleep(2000);
}
function 不滑动() {
log("不滑动");
var f = 1;
t_ime = 13;
while (f) {
//防止检测不到完成控件
if (!(t_ime)) {
f = 0;
}
t_ime--;
sleep(1000);
if (textContains("任务已经").exists() || desc("任务完成").exists()) {
log("退出滑动");
toast('退出滑动');
sleep(1000);
f = 0;
} else if (textContains("浏览完成").exists() || text("任务完成").exists()) {
log("退出滑动");
toast('退出滑动');
sleep(1000);
f = 0;
} else if (!(textContains("点击或滑动").exists()) && textContains("若发生退款").exists()) {
log("退出滑动");
toast('退出滑动');
sleep(1000);
f = 0;
}
}
log("退出");
back();
sleep(2000);
}
function 淘宝人生() {
sleep(10000)
// click(550,1420);
if (text("立即抽奖").exists()) {
var x = text("立即抽奖").findOne().bounds().centerX();
var y = text("立即抽奖").findOne().bounds().centerY();
click(x, y + 180);
}
if (textContains("骰子图像").exists()) {
textContains("骰子图像").click();
} else {
click(530, 1725);
sleep(1000);
click(530, 1820);
sleep(500);
click(530, 1750);
sleep(500);
click(530, 1820);
sleep(500);
click(530, 1400);
sleep(8000);
click(530, 1750);
sleep(500);
back();
}
sleep(1000);
back();
sleep(2000);
if (desc("芭芭农场").exists()) {
进入芭芭农场();
}
}
//支付宝任务函数
function 支付宝任务扫描() {
log("打开任务栏");
toast('打开任务栏');
if (text("去领更多肥料").exists()) {
click("去领更多肥料");
} else {
click(950, 1915);
}
sleep(1000);
if (text("A*ccswT6bSKCsAAAAAAAAAAAAAARQnAQ").exists() && !(textContains("分享给好友").exists())) {
text("A*ccswT6bSKCsAAAAAAAAAAAAAARQnAQ").click();
}
sleep(1000);
if (text("领取").exists()) {
text("领取").untilFind().click();
}
//循环扫描次任务支付宝任务栏
var t = 1;
sleep(1000);
var f = 1; //标志,防止喂鸡
while (t--) {
if (!(textContains("分享给好友").exists())) {
log("错误!请手动进入支付宝任务栏!");
toast('错误!请手动进入支付宝任务栏!');
t = 5;
while (!(textContains("分享给好友").exists()) && t--) {
back();
sleep(1500);
}
}
if (text("推荐").exists()) {
log("淘特");
back();
sleep(100);
back();
sleep(1000);
back();
sleep(1000);
}
textContains("邀请好友助力").waitFor();
log("正在扫描支付宝任务!");
toast('正在扫描支付宝任务!');
if (text("去喂鸡").exists() && f == 1) { //可以进两次
t = t + 1;
f = 0;
log("正在喂鸡");
toast('正在喂鸡');
text("去喂鸡").findOne(3000).click();
text("蚂蚁庄园").waitFor();
sleep(3000);
//待续
// if(text("去找小鸡").exists()){
// }
// else{
click(950, n);
sleep(1500);
click(950, m);
sleep(2000);
desc("关闭").click();
sleep(1000);
// }
} else if (text("去逛逛").exists()) {
t = t + 1;
log("找到逛一逛任务,稍等");
click("去逛逛");
sleep(4000);
//back();
toast('逛一逛任务,请稍等');
sleep(6000);
if (text("继续赚肥料").exists() || text("欢迎来到淘宝").exists()) {
text("继续赚肥料").click();
log("准备返回支付宝");
toast('返回支付宝!');
sleep(2000);
click("跳转链接");
跳转到支付宝();
} //else back();
if (text("小鸡送好礼").exists()) {
log("小鸡");
back();
sleep(1000);
back();
sleep(100);
back();
sleep(1000);
back();
sleep(1000);
}
if (text("可用步数").exists()) {
t = 5;
while (t--) {
if (text("任务已完成").exists()) {
t = 0;
}
}
while (!(textContains("分享给好友").exists())) {
back();
sleep(1500);
}
}
if (textContains("闯关人人").exists()) {
log("等待倒计时");
sleep(10000);
}
} else if (text("去浏览").exists()) {
t = t + 1;
log("找到去浏览任务!");
toast('找到任务');
click("去浏览");
textContains("浏览").waitFor();
sleep(1000);
if (textContains("浏览得肥料").exists()) {
log("助农页面");
var x = textContains("浏览得肥料").findOne().bounds().centerX();
var y = textContains("浏览得肥料").findOne().bounds().centerY();
click(x, y - 10);
sleep(1000);
滑动();
sleep(1000);
} else back();
} else if (text("去完成").exists() && f != 3) {
log("去完成任务")
t = t + 1;
f = 3;
var a = [];
var i = 0;
i = text("去完成").untilFind().size();
//找出所有去完成的任务,放到a
a = text("去完成").untilFind();
// i=i+1;
while (i) {
i--;
a[i].click();
sleep(4000)
if (text("确认并开始合种").exists()) {
className("android.widget.Image").text("TB16.HuRVT7gK0jSZFpXXaTkpXa-56-56").findOne().click();
sleep(1000);
//重新回到任务栏
click(950, 1910);
sleep(1000);
} else if (text("浏览得肥料").exists()) {
sleep(1000);
滑动();
sleep(1000);
} else if (textStartsWith("本页面每天前").exists()) {
log("下单界面,退出");
back();
} else if (text("充值中心").exists()) {
log("充值中心,返回");
back();
} else if (text("蚂蚁森林").exists()) {
log("去收能量");
toast('找到任务');
sleep(1000);
if (text("去分享").exists()) {
log("错误!请手动去到蚂蚁森林,或者重新启动脚本。。。");
toast('错误!请手动去到蚂蚁森林,或者重新启动脚本。。。');
}
text("蚂蚁森林").waitFor();
sleep(2000);
var p = 10;
while (p >= 0) {
//产生随机数
var x = random(250, 780);
var y = random(500, 800)
click(x, y);
p--;
}
click(250, 550);
click(520, 600);
click(440, 500);
click(780, 650);
click(256, 720);
click(870, 730);
click(390, 670);
click(780, 1000);
sleep(2000);
desc("关闭").click();
sleep(1000);
}
sleep(2000);
}
}
if (t % 2 == 0)
scrollForward();
else scrollBackward();
}
}
function 跳转到支付宝() {
//等待饲料盘的出现
textContains("助农增收").waitFor();
log("成功跳转到支付宝");
toast('成功跳转到支付宝');
sleep(2000);
// text("A*ccswT6bSKCsAAAAAAAAAAAAAARQnAQ").waitFor();
if (text("欢迎来到支付宝").exists()) {
sleep(1000);
click("继续赚肥料");
sleep(1500);
} //A*ccswT6bSKCsAAAAAAAAAAAAAARQnAQ192.168.137.115
else click(865, 1410);
sleep(1500);
if (text("提醒我每天领肥料").exists()) {
text("O1CN01mOSkKe1bMbTVbjDzb_!!6000000003451-2-tps-78-78").findOne().click();
}
sleep(1500);
支付宝任务扫描();
click(520, 520);
/************支付宝施肥*************** */
var t1 = 1;
while (t1) {
if (textContains("次可领").exists() || text("点击领取").exists()) {
log("支付宝浇肥");
toast('支付宝浇肥');
click(550, 1828);
sleep(2000);
if (text("已领取").exists()) {
t1 = 0;
} else if (text("点击领取").exists()) {
var x = text("点击领取").findOne().bounds().centerX();
var y = text("点击领取").findOne().bounds().centerY();
click(x, y);
log("点击领取");
// text("收下去施肥").waitFor();
sleep(1000);
if (text("立即领取").exists()) {
var x = text("立即领取").findOne().bounds().centerX();
var y = text("立即领取").findOne().bounds().centerY();
click(x, y);
log("立即领取");
sleep(1000);
// text("收下去施肥").waitFor();
// text("立即领取").click();
//click(x, y);
log("已领取");
sleep(2000);
} else {
text("收下去施肥").click();
sleep(2000);
}
}
} else {
sleep(1000);
t1 = 0;
}
}
/************************************ */
log("检查支付宝任务是否有遗漏");
toast('检查支付宝任务是否有遗漏');
支付宝任务扫描();
log("准备返回淘宝");
toast('准备返回淘宝');
//准备返回淘宝
sleep(1000);
var t = 1;
while (t) {
if (!(text("做任务赢奖励").exists())) {
if (text("去逛逛").exists()) {
click("去逛逛");
sleep(5000);
// if(text("淘宝人生").exists()){
// log("进入淘宝人生");
// 淘宝人生();
// }
} else {
back();
}
sleep(2000);
// 退到了首页
if (desc("我的淘宝").exists()) {
if (desc("芭芭农场").exists()) {
desc("芭芭农场").click();
} else {
desc("我的淘宝").click();
sleep(2500);
var x = desc("芭芭农场").findOne().bounds().centerX();
var y = desc("芭芭农场").findOne().bounds().centerY();
click(x, y);
}
log("重新进入芭芭农场,请等候!");
toast('请稍等');
sleep(8000);
click(850, 2000);
log("进入任务界面");
toast('进入淘宝任务界面');
sleep(1000);
}
} else if (text("做任务赢奖励").exists()) {
log("回到淘宝");
toast('回到淘宝');
t = 0;
sleep(1000);
if (text("欢迎来到淘宝").exists()) {
click("继续赚肥料");
} else {
//className("android.widget.Button").text("关闭").waitFor();
className("android.widget.Button").text("关闭").click();
}
}
}
sleep(1000);
log("正在返回顶部");
toast('正在返回顶部');
var t = 15;
while (t--) {
scrollBackward();
}
//点击小白兔
click(210, 1500);
}
/*****************函数区结束************************* */
/******************淘宝区************************* */
进入芭芭农场();
//明天
sleep(1000);
click(886, 1490);
sleep(3000);
log("是否有提醒我弹出");
if (textContains("提醒我").exists() || text("取消提醒").exists()) {
click(540, 1780);
sleep(500);
//text("关闭").click();
log("关闭提醒");
sleep(1000);
}
亲密度检查();
//进入任务界面
sleep(3000);
click(850, 2000);
// if (text("图片").exists()) {
// text("图片").click();
// }
log("进入任务界面");
toast('进入淘宝任务界面');
sleep(1000);
//不断扫描任务栏
var t = 1;
while (t--) {
sleep(1000);
if (!(textContains("做任务赢奖励").exists())) {
log("错误!请手动进入淘宝任务栏!");
toast('错误!请手动进入淘宝任务栏!');
if (text("更多").className("android.widget.Button").exists()) {
click(820, 2012);
} else back();
sleep(1500);
if (!(textContains("做任务赢奖励").exists())) {
back();
}
}
textContains("做任务赢奖励").waitFor();
log("正在扫描任务!");
toast('正在扫描任务!');
sleep(1000);
scrollForward();
if (text("去签到").exists()) {
t = t + 1;
log("点击签到");
toast('找到任务');
click("去签到");
sleep(1000);
} else if (text("去答题").exists()) {
t = t + 1;
log("找到答题任务");
toast('找到任务');
click("去答题");
// log(textContains("农场小主们请看题~").exists());
// if(textContains("农场小主们请看题~").exists()){
sleep(2000);
click(540, 1956);
sleep(2000);
if (textContains("农场小主们请看题~").exists()) {
textContains("领取(").click();
sleep(1000);
} else {
click(520, 2138);
sleep(1000);
}
//重新进入任务栏
log("准备再次进入任务栏,请稍等!");
toast('准备再次进入任务栏,请稍等');
log("回到顶部");
var t1 = 5;
while (t1--) {
scrollBackward();
sleep(500);
}
//点击小白兔
click(210, 1500);
sleep(1000);
click(850, 2000);
sleep(1000);
if (!(textContains("做任务赢奖励").exists())) {
click(850, 2000);
}
log("如果未能自动打开任务栏,请手动打开淘宝任务栏!");
toast('如果未能自动打开任务栏,请手动打开淘宝任务栏!');
textContains("做任务赢奖励").waitFor();
} else if (text("去逛逛").exists()) {
t = t + 1;
sleep(5000);
if (!(text("逛逛支付宝芭芭农场(0/1)").exists() && text("逛精选商品(3/3)").exists())) {
log("找到逛一逛任务");
toast('找到任务');
text("去逛逛").findOne(3000).click();
sleep(8000);
if (!(text("欢迎来到支付宝").exists()) && !(text("继续赚肥料").exists()) && !(text("A*Vr-HT4gpM94AAAAAAAAAAAAAARQnAQ").exists()) && !(text("orchard-title").exists()) && !(text("crown").exists())) {
log("非跳转到支付宝!");
toast('非跳转到支付宝');
if (text("淘宝人生").exists()) {
log("进入淘宝人生");
淘宝人生();
} else {
sleep(1000);
滑动();
sleep(1000);
}
} else if (text("欢迎来到支付宝").exists() || text("继续赚肥料").exists() || text("A*Vr-HT4gpM94AAAAAAAAAAAAAARQnAQ").exists() || text("orchard-title").exists() || text("crown").exists()) {
log("前往支付宝");
toast('前往支付宝');
if (text("欢迎来到支付宝").exists()) {
sleep(1000);
click("继续赚肥料");
sleep(1500);
}
while (!(textContains("做任务赢奖励").exists())) {
back();
sleep(1500);
}
}
}
} else if (text("浏览天天领现金(0/1)").exists()) {
t = t + 1;
log("找到去完成任务");
toast('找到任务');
click("去完成");
sleep(2000);
if (text("去点淘领元宝").exists()) {
back();
sleep(1000);
}
click("打开链接");
sleep(4000);
if (text("无门槛提现").exists()) {
click("关闭");
}
sleep(1000);
log("正在等待倒计时!");
toast('等待浏览任务完成');
var t2 = 17;
while (t2--) {
sleep(1000);
}
back();
if (text("拉人合种 每人一箱水果哦").exists()) {
back();
sleep(1000);
click(850, 2000);
} else if (text("限时").exists() || text("更多").className("android.widget.Button").exists()) {
//重新进入任务栏
log("重新进入淘宝任务栏");
toast('重新进入淘宝任务栏');
sleep(1000);
click(850, 2000);
sleep(1000);
} else if (text("打开链接").exists()) {
text("打开链接").waitFor();
click("打开链接");
text("更多").className("android.widget.Button").waitFor();
}
} else if (text("去领取").exists()) {
t = t + 1;
text("去领取").findOne(3000).click();
sleep(1000);
} else if (text("去浏览").exists()) {
t = t + 1;
log("找到去浏览任务");
toast('找到任务');
sleep(1000);
text("去浏览").findOne(3000).click();
sleep(2000);
if (text("如何成为金主").exists()) {
click(540, 1949);
}
sleep(4000);
if (desc("本可爱有话说").exists() || desc("跟主播聊什么?").exists() || id("com.taobao.taobao:id/taolive_chat_btn_text").exists() || id("com.taobao.taobao:id/tbvideo_search").exists()) {
不滑动();
} else if (text("我知道了").exists()) {
click("我知道了");
sleep(1000);
滑动();
sleep(1000);
} else if (text("搜索").exists() || desc("搜索发现").exists()) {
log("点击搜索");
if (text("搜索发现").exists()) {
log(text("搜索发现").exists());
click(200, 500);
} else click(800, 800);
sleep(1000);
滑动();
sleep(1000);
log("返回");
back();
sleep(1000);
} else {
滑动();
sleep(1000);
}
}
// else if(text("去完成").exists() && text("浏览天天领现金(0/1)").exists()){
// log("找到去浏览任务");
// sleep(1000);
// text("去浏览").findOne(3000).click();
// sleep(2000);
// if(text("如何成为金主").exists()){
// click(540,1949);
// }
// sleep(4000);
// if(text("我知道了").exists()){
// click("我知道了");
// }
// sleep(1000);
// 滑动();
// sleep(1000);
// }
if (t % 2 == 0)
scrollForward();
else scrollBackward();
}
//跳转到支付宝芭芭农场
if (text("跳转链接").exists()) {
log("正在跳转至支付宝,请稍等");
toast('正在跳转至支付宝,请稍等');
click("跳转链接");
}
跳转到支付宝();
//开始施肥
var i = 200;
var t = 10;
while (i--) {
//是否进入下一级
if (textContains("立即去").exists()) {
textContains("立即去").click();
sleep(1000);
}
if (text("限时").exists() || text("更多").className("android.widget.Button").exists()) {
log("开始施肥");
toast('施肥ing');
//点到弹窗,返回农场主页
if (!(text("更多").className("android.widget.Button").exists() || text("继续施肥").exists() || text("开心收下").exists())) {
back();
sleep(1000);
}
click(550, 2000);
sleep(2000);
//开启挑战
if (text("立即开启").exists()) {
click("立即开启");
sleep(2000);
if (text("标题").exists()) {
text("关闭").className("android.widget.Button").click();
}
}
if (className("android.widget.Button").text("开心收下").exists()) {
click("开心收下");
}
if (className("android.widget.Button").text("继续施肥").exists()) {
click("继续施肥");
}
sleep(1000);
亲密度弹窗();
if (textContains("去分享").exists()) {
back();
log("无饲料提醒!准备退出");
toast('无饲料提醒!准备退出');
break;
}
if (i % 2 == 0) {
click(530, 1590);
}
} else {
log("错误!请手动回到施肥界面");
toast('错误!请手动回到施肥界面');
back();
text("更多").className("android.widget.Button").waitFor();
}
if (t == 10) {
//点击小白兔
click(210, 1500);
toast("点击小白兔");
sleep(1000);
t = 0;
}
t = t + 1;
}
//退出到桌面
log("退出到桌面,再见!");
toast("结束,退出");
sleep(2000);
back();
sleep(1000);
home();
log("stop");
console.hide();
exit();
auto.js和auto.jspro安装包
https://download.csdn.net/download/weixin_46498792/86270471?spm=1001.2014.3001.5501