auto.js之蚂蚁庄园自动化
auto.js蚂蚁庄园自动化
蚂蚁森林自动收能量:here
const startTime = "06:30";
const endTime = "06:31";
const screen_width = 1080; //设置屏幕的宽度,像素值
const screen_height = 2400; //设置屏幕的高度,像素值
const t = 2000; // 等待时间
const baseSleep = 50; // 等待时间
const fodderPoint = [934, 2158]; // 饲料坐标
const getFodderPoint = [346, 2158]; // 领饲料坐标
const maYiName = "蚂蚁庄园"; //sleep(1000);
unlock();
sleep(1000);threads.start(function () {//在子线程中调用observeKey()从而使按键事件处理在子线程执行events.observeKey();events.on("key_down", function (keyCode, events) {//音量键关闭脚本if (keyCode === keys.volume_down) {toast("您选择退出脚本!");sleep(2000);exit();}});
});mainEntrence();//程序主入口
function mainEntrence() {let b;do {b = true;if (b) {log("打开支付宝");b = openAlipay();}if (b) {enterMyMainPage();sleep(2000);b = enterSuccess(50);}if (b) {click(fodderPoint[0], fodderPoint[1]);log("喂食成功,sleep:1000");sleep(2000);}if (b) {click(getFodderPoint[0], getFodderPoint[1]);log("领取饲料弹屏,sleep:1000");sleep(3000);}if (b) {b = collectFodder();}// 执行返回 4 次whenComplete(4);// 睡眠 1 秒,等待下一次收集sleep(t);t = t + 10;} while (checkTime());exit();
}/**** @param num 循环判断次数* @return boolean*/
function enterSuccess(num) {let success = false;let i = 0;while (i <= num && !success) {sleep(baseSleep);success = textContains(maYiName).idEndsWith("h5_tv_title").exists();i++;}if (i > num) {toastLog("enterSuccess:false; 次数:" + num);}return success;}/*** 收食物函数* return 是否收取成功*/
function collectFodder() {smallVideoTask();smallVideoTask();sleep(2000);return true;
}function smallVideoTask() {let parentNode = textContains("庄园小视频").findOne().parent();let go = parentNode.findOne(text("去完成"));let receive = parentNode.findOne(text("领取"));if (go != null) {toastLog("庄园小视频 - 去完成");clickByBounds(child);sleep(20000);back();}if (receive != null) {toastLog("庄园小视频 - 领取");clickByBounds(child);sleep(100);}
}/*** 自定义的点击函数** @param {*} energyType* @param {*} paddingY*/
function clickByTextDesc(energyType, paddingY) {var clicked = false;let endsWith = null;if (descEndsWith(energyType).exists()) {endsWith = descEndsWith(energyType).find();}if (textEndsWith(energyType).exists() && clicked === false) {endsWith = textEndsWith(energyType).find();}if (endsWith != null) {endsWith.forEach(function (pos) {var posb = pos.bounds();if (posb.centerX() < 0 || posb.centerY() - paddingY < 0) {return false;}var str = pos.id();if (str != null) {if (str.search("search") === -1) {click(posb.centerX(), posb.centerY() - paddingY);clicked = true;}}sleep(100);});}return clicked;
}function clickByBounds(uiObject) {const rect = uiObject.bounds();return click(rect.centerX(), rect.centerY());
}/*** 解锁函数*/
function unlock() {if (!device.isScreenOn()) {//点亮屏幕device.wakeUp();//由于MIUI的解锁有变速检测,因此要点开时间以进入密码界面sleep(1000);swipe(500, 1900, 500, 0, 2000);click(100, 150);//输入屏幕解锁密码,其他密码请自行修改sleep(2000);click(*, *);sleep(500);click(*, *);sleep(500);click(*, *);sleep(500);click(*, *);sleep(500);}
}/*** 从支付宝主页进入蚂蚁森林我的主页* @returns {boolean} 是否进入成功*/
function enterMyMainPage() {// 拉至顶端sleep(500);swipe(screen_width * 0.5, screen_height * 0.25, screen_width * 0.5, screen_height * 0.5, 500);let exist = cycleJudgment(maYiName, 100);if (!exist) {toastLog("没有找到" + maYiName + "入口,尝试中");clickByTextDesc("全部", 0);sleep(1000);swipe(screen_width * 0.5, screen_height * 0.3, screen_width * 0.5, screen_height * 0.7, 1000);sleep(1000);}clickByTextDesc(maYiName, 0);
}/*** 循环number次,每次50ms,判断condition是否存在** @param condition* @param number* @returns {boolean}*/
function cycleJudgment(condition, number) {let i = 0;while (!textEndsWith(condition).exists() && !descEndsWith(condition).exists() && i <= number) {sleep(baseSleep);i++;}if (i > number) {toastLog(number + "次,未找到:" + condition);return false;}return true;
}/*** 结束后返回主页面* @param value : 返回次数*/
function whenComplete(value) {toastLog("结束");while (value > 0) {back();sleep(1500);value--;}
}/*** 检测当前时间是否在指定范围内* @returns {boolean}*/
function checkTime() {var now = new Date();var hour = now.getHours();var minu = now.getMinutes();var time_a = startTime.split(":");var time_b = endTime.split(":");var timea = 60 * Number(time_a[0]) + Number(time_a[1]);var timeb = 60 * Number(time_b[0]) + Number(time_b[1]);var time = 60 * hour + minu;if (time >= timea && time <= timeb) {//sleep(2000);return true;} else {return false;}
}/*** 唤醒支付宝* @returns {boolean} 是否成功*/
function openAlipay() {sleep(1000);launchApp("支付宝");toastLog("等待支付宝启动");var i = 0;while (!textEndsWith("扫一扫").exists() && !descEndsWith("扫一扫").exists() && i <= 5) {sleep(500);// 点击首页,防止进入后在其他菜单launchApp("支付宝");clickByTextDesc("首页", 0);i++;}toastLog("第" + i + "次尝试进入支付宝主页");if (i >= 5) {toastLog("没有找到支付宝首页");return false;}return true;
}
auto.js之蚂蚁庄园自动化相关推荐
- Auto.js实现i茅台自动化申购
i茅台自动化申购 文章目录 i茅台自动化申购 前言 一.前提条件 二.代码示例 总结 前言 现在茅台行情十分火热,茅台集团推出了i茅台APP供大家申购.下面介绍使用Auto.js实现自动化申购. 一. ...
- 基于Auto.js的蚂蚁森林能量收集脚本
最近支付宝把"查看更多好友"和"没有更多了",这两个键改成图片格式了,不能识别文字,导致了无法正常的进入更多好友的界面及收集完无法正常退出. 更新内容(已修改下 ...
- 用auto.js偷蚂蚁森林能量
(一)下载地址: auto.js下载 这个app(autoJs-V4.1.1.Alpha2-common-armeabi-v7a-debug下载地址: 来自https://github.com/Eri ...
- 使用Auto.js实现蚂蚁森林自动收取能量
在网上看了一些自动收能量的脚本 根据自己的手机型号 华为荣耀9 分辨率为1980*1080 写了一个脚本 使用AutoJs运行 定时每天早上7点开始收能量(再也不用担心我的能量被偷啦 哈哈~) Aut ...
- autojs通知栏_基于Auto.js的蚂蚁森林智能脚本 (长期维护) (JavaScript语言)
* `新增` 定时循环功能 · 定时任务自动管理 · 好友排行榜样本复查 · 主页能量球循环监测 * `新增` 脚本运行安全 · 运行失败自动重试 · 单次运行最大时间限制 · 排他性任务 ...
- auto.js 自动化 从零开始
auto.js 自动化 从零开始 最近再玩奇奇怪怪的脚本,发个帖做一下记录 本文主要讲述 auto.js (手机免root自动化脚本)的一些基础知识,以及一些简单的实例,该脚本需要有js基础 1.安装 ...
- auto.js小记:蚂蚁森林定时自动收取能量脚本
简介 Autojs是一个支持无障碍服务的Android平台上的JavaScript IDE,其发展目标是JsBox和Workflow.同时有VS Code 插件可提供基础的在桌面开发的功能. 下载地址 ...
- 使用auto.js定时收取蚂蚁森林能量和积分
auto.js下载地址:https://soft.shouji.com.cn/down/175909.html 先在手机安装auto.js,加入脚本,密码输入是通过位置点击,如果不想设置只需要替换解锁 ...
- auto.js蚂蚁森林收能量
auto.js蚂蚁森林收能量 在网上看了一些自动收能量的脚本 写了一个脚本 使用AutoJs运行 AutoJS下载地址 :here 运行步骤如下: 1.解锁(点亮屏幕,切换到输入密码界面,输入密码) ...
最新文章
- Python应用matplotlib绘图简介
- 表格布局页面_对于表格布局管理器的回顾以及接下来的目标
- 一站式学习Wireshark(七):Statistics统计工具功能详解与应用
- radare2 常用操作总结
- 学好数学建模,走哪买菜都不怕!
- Linux文件IO-例会笔记总结
- 小点点软件对你非常实用
- 基于LAMP的cacti安装和配置问题处理(一)
- VS工具使用技巧总结
- 将中文姓名转为拼音英文名的一种实现
- LUP分解求解线性方程组及求逆矩阵 java
- 《获取Windows中的当前时区列表》
- Online Object Tracking: A Benchmark
- Maven 入门学习.md
- 怎么取消微信送票服务器,智行火车票如何关闭微信自动扣费服务 微信怎么关闭智行火车票自动扣费授权...
- Python实现企业微信发送图片
- 万字报告!一文看懂全球车厂的技术家底模块化平台
- springboot配置日志文件报错:
- 【vsftpd】配置
- 面试总结——Java高级工程师