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之蚂蚁庄园自动化相关推荐

  1. Auto.js实现i茅台自动化申购

    i茅台自动化申购 文章目录 i茅台自动化申购 前言 一.前提条件 二.代码示例 总结 前言 现在茅台行情十分火热,茅台集团推出了i茅台APP供大家申购.下面介绍使用Auto.js实现自动化申购. 一. ...

  2. 基于Auto.js的蚂蚁森林能量收集脚本

    最近支付宝把"查看更多好友"和"没有更多了",这两个键改成图片格式了,不能识别文字,导致了无法正常的进入更多好友的界面及收集完无法正常退出. 更新内容(已修改下 ...

  3. 用auto.js偷蚂蚁森林能量

    (一)下载地址: auto.js下载 这个app(autoJs-V4.1.1.Alpha2-common-armeabi-v7a-debug下载地址: 来自https://github.com/Eri ...

  4. 使用Auto.js实现蚂蚁森林自动收取能量

    在网上看了一些自动收能量的脚本 根据自己的手机型号 华为荣耀9 分辨率为1980*1080 写了一个脚本 使用AutoJs运行 定时每天早上7点开始收能量(再也不用担心我的能量被偷啦 哈哈~) Aut ...

  5. autojs通知栏_基于Auto.js的蚂蚁森林智能脚本 (长期维护) (JavaScript语言)

    * `新增` 定时循环功能 ·  定时任务自动管理 ·  好友排行榜样本复查 ·  主页能量球循环监测 * `新增` 脚本运行安全 ·  运行失败自动重试 ·  单次运行最大时间限制 ·  排他性任务 ...

  6. auto.js 自动化 从零开始

    auto.js 自动化 从零开始 最近再玩奇奇怪怪的脚本,发个帖做一下记录 本文主要讲述 auto.js (手机免root自动化脚本)的一些基础知识,以及一些简单的实例,该脚本需要有js基础 1.安装 ...

  7. auto.js小记:蚂蚁森林定时自动收取能量脚本

    简介 Autojs是一个支持无障碍服务的Android平台上的JavaScript IDE,其发展目标是JsBox和Workflow.同时有VS Code 插件可提供基础的在桌面开发的功能. 下载地址 ...

  8. 使用auto.js定时收取蚂蚁森林能量和积分

    auto.js下载地址:https://soft.shouji.com.cn/down/175909.html 先在手机安装auto.js,加入脚本,密码输入是通过位置点击,如果不想设置只需要替换解锁 ...

  9. auto.js蚂蚁森林收能量

    auto.js蚂蚁森林收能量 在网上看了一些自动收能量的脚本 写了一个脚本 使用AutoJs运行 AutoJS下载地址 :here 运行步骤如下: 1.解锁(点亮屏幕,切换到输入密码界面,输入密码) ...

最新文章

  1. Python应用matplotlib绘图简介
  2. 表格布局页面_对于表格布局管理器的回顾以及接下来的目标
  3. 一站式学习Wireshark(七):Statistics统计工具功能详解与应用
  4. radare2 常用操作总结
  5. 学好数学建模,走哪买菜都不怕!
  6. Linux文件IO-例会笔记总结
  7. 小点点软件对你非常实用
  8. 基于LAMP的cacti安装和配置问题处理(一)
  9. VS工具使用技巧总结
  10. 将中文姓名转为拼音英文名的一种实现
  11. LUP分解求解线性方程组及求逆矩阵 java
  12. 《获取Windows中的当前时区列表》
  13. Online Object Tracking: A Benchmark
  14. Maven 入门学习.md
  15. 怎么取消微信送票服务器,智行火车票如何关闭微信自动扣费服务 微信怎么关闭智行火车票自动扣费授权...
  16. Python实现企业微信发送图片
  17. 万字报告!一文看懂全球车厂的技术家底模块化平台
  18. springboot配置日志文件报错:
  19. 【vsftpd】配置
  20. 面试总结——Java高级工程师

热门文章

  1. 江南爱软装十大品牌 软装的风格你都知道多少?
  2. c语言复杂数据类型,c语言复杂数据类型及排序.ppt
  3. Tsinghua MOOC 祖玛(Zuma)
  4. 离线linux下python安装pip包_Linux pip命令和在线、离线安装
  5. Win10禁用不常用的多余的无用服务
  6. 牛客模拟一:DNA合成
  7. java中保留两位小数的方法_Java中保留两位小数的四种方法实现实例
  8. 现代操作系统(原书第四版)课后题答案 —— 第四章 文件系统
  9. 解决一下华为手机选取相册照片,选取不到问题。
  10. IntelliJ IDEA创建Servlet(web)