蚂蚁森林自动收能量的最新脚本
环境必须是安卓7.0以上版本。中文界面。
安装软件,执行Auto.js代码。完成。注意自启动,锁定后台,无障碍服务,悬浮窗等权限允许。
注意需要把脚本和图片放到执行文件夹的同一目录下。
首先所有资料链接如下:
https://pan.baidu.com/s/1XJTHl1IASTGmDZGkTCGJ0g
对网络上的代码下载,修改后,代码如下:
/** * @Title: 蚂蚁森林 * @Description:蚂蚁森林自动收取能量和偷取能量 * @date: 2019-2-23 */sleep(1000); mainEntrence();//解锁 function unlock(){if(!device.isScreenOn()){//点亮屏幕 device.wakeUp();sleep(1000);//滑动屏幕到输入密码界面swipe(520,1560,520,100,1000);sleep(1000);// click(200,1000);sleep(500);//swipe(520,1560,520,100,1000);// click(200,1000);sleep(500);// click(200,1000);sleep(500);swipe(520,1560,520,100,1000);// click(200,1000);sleep(500);} } /*** 日志输出*/ function tLog(msg) {toast(msg);console.log(msg) }/*** 获取权限和设置参数*/ function prepareThings(){unlock();setScreenMetrics(1080, 1920);//请求截图if(!requestScreenCapture()){tLog("请求截图失败");exit();}} /*** 设置按键监听 当脚本执行时候按音量减 退出脚本*/ function registEvent() {//启用按键监听 events.observeKey();//监听音量上键按下events.onKeyDown("volume_down", function(event){tLog("脚本手动退出");exit();}); }/*** 默认程序出错提示操作*/ function defaultException() {tLog("程序当前所处状态不合预期,脚本退出");exit(); } /*** 等待加载收集能量页面,采用未找到指定组件阻塞的方式,等待页面加载完成*/ function waitPage(type){// 等待进入自己的能量主页if(type==0){desc("种树").findOne();}// 等待进入他人的能量主页else if(type==1){desc("浇水").findOne();}//再次容错处理sleep(1000); } /*** 从支付宝主页进入蚂蚁森林我的主页*/ function enterMyMainPage(){launchApp("支付宝");tLog("等待支付宝启动");var i=0;sleep(1000);//五次尝试蚂蚁森林入口while (!textEndsWith("蚂蚁森林").exists() && i<=5){sleep(2000);i++;}clickByText("蚂蚁森林",true,"请把蚂蚁森林入口添加到主页我的应用");//等待进入自己的主页tLog("蚂蚁森林启动完成");waitPage(0);tLog("蚂蚁森林启动结束"); } /*** 进入排行榜*/ function enterRank(){tLog("寻找排行榜");swipe(520,1860,520,100,2000);sleep(500);swipe(520,1860,520,100,2000);sleep(500);clickByDesc("查看更多好友",0,true,"程序未找到排行榜入口,脚本退出");var i=0;//等待排行榜主页出现tLog("等待排行榜");sleep(500);while (!textEndsWith("排行榜").exists() && i<=5){sleep(2000);i++;}tLog("等待结束");if(i>=5){tLog("等待结束!");defaultException();} } /*** 从排行榜获取可收集好友的点击位置* @returns {*}*/ function getHasEnergyfriend(type) {//var img = getCaptureImg();var p=null;if(type==1){//img 是图片//"#1DA06D" 第一个颜色//[0, 33, "#1DA06D"] 第二颜色和它的相对坐标//[34,45, "#ffffff"] 第三个颜色和他的相对坐标//region: [1030, 100, 1, 1700] 第一个颜色的检测区域1030,100为起始坐标,1,1700为区域宽度!!!//p = images.findMultiColors(img, "#1DA06D",[[20, 0, "#1DA06D"], [21,11, "#ffffff"]]);//p = images.findMultiColors(img, "#1DA06D",[[20, 0, "#1DA06D"], [48,45, "#ffffff"]]);var picture = images.read("./hand.jpg");var cap=captureScreen();sleep(1000);var p = findImage(cap, picture,{ threshold: 0.5 });tLog("OK");}if(p!=null){return p;}else {return null;} } /*** 判断是否好有排行榜已经结束* @returns {boolean}*/ function isRankEnd() {if(descEndsWith("没有更多了").exists()){var b=descEndsWith("没有更多了").findOne();var bs=b.bounds();if(bs.centerY()<1920){return true;}}return false; } /*** 在排行榜页面,循环查找可收集好友* @returns {boolean}*/ function enterOthers(){tLog("开始检查排行榜");var i=1;var ePoint=getHasEnergyfriend(1);//确保当前操作是在排行榜界面while(ePoint==null && textEndsWith("好友排行榜").exists()){tLog("未找到可取,向下滑");//滑动排行榜 root方式的的点击调用.如无root权限,7.0及其以上可采用无障碍模式的相关函数sleep(1000);swipe(520,1800,520,520,500);sleep(1000);i++;ePoint=getHasEnergyfriend(1);//检测是否排行榜结束了if(isRankEnd()){return false;}//如果连续32次都未检测到可收集好友,无论如何停止查找(由于程序控制了在排行榜界面,且判断了结束标记,基本已经不存在这种情况了)else if(i>32){tLog("程序可能出错,连续"+i+"次未检测到可收集好友");exit();}}if(ePoint!=null){//点击位置相对找图后的修正tLog("找到可取");click(ePoint.x,ePoint.y+20);waitPage(1);while(1){var img = captureScreen();toastLog("开始找色");//0x1d75b3为编辑器默认主题蓝色字体(if, var等关键字)的颜色//找到颜色与0x1d75b3完全相等的颜色var point = findColorEquals(img, 0xCBFE5C);if(point){toastLog("x = " + point.x + ", y = " + point.y);click(point.x+30,point.y+30);}else{toastLog("没有找到");break;} }//进去收集完后,递归调用enterOthers back();//swipe(520,1800,520,1300,1000);sleep(500);var j=0;//等待返回好有排行榜if(!textEndsWith("好友排行榜").exists() && j<=5){sleep(2000);j++;}if(j>=5){defaultException();}enterOthers();}else{defaultException();}} /*** 根据描述值 点击* @param energyType* @param noFindExit*/ function clickByDesc(energyType,paddingY,noFindExit,exceptionMsg){if(descEndsWith(energyType).exists()){descEndsWith(energyType).find().forEach(function(pos){var posb=pos.bounds();click(posb.centerX(),posb.centerY()-paddingY);sleep(2000);});}else{if(noFindExit!=null && noFindExit){if(exceptionMsg !=null){tLog(exceptionMsg);exit();}else{defaultException();}}} }/*** 根据text值 点击 * @param energyType * @param noFindExit*/ function clickByText(energyType,noFindExit,exceptionMsg){if(textEndsWith(energyType).exists()){textEndsWith(energyType).find().forEach(function(pos){var posb=pos.bounds();click(posb.centerX(),posb.centerY()-60);});}else{if(noFindExit!=null && noFindExit){if(exceptionMsg !=null){tLog(exceptionMsg);exit();}else{defaultException();}}} } /*** 遍历能量类型,收集自己的能量*/ function collectionMyEnergy(){while(1){var img = captureScreen();toastLog("开始找色");//0x1d75b3为编辑器默认主题蓝色字体(if, var等关键字)的颜色//找到颜色与0x1d75b3完全相等的颜色var point = findColorEquals(img, 0xCBFE5C);if(point){toastLog("x = " + point.x + ", y = " + point.y);click(point.x+30,point.y+30);}else{toastLog("没有找到");break;} }tLog("自己能量收集完成");sleep(1000); } /*** 结束后返回主页面*/ function whenComplete() {tLog("结束");back();sleep(1500);back();sleep(1000);home();exit(); } //程序主入口 function mainEntrence(){//前置操作 prepareThings();//注册音量下按下退出脚本监听 registEvent();//从主页进入蚂蚁森林主页 enterMyMainPage();//收集自己的能量 collectionMyEnergy();//进入排行榜 enterRank();//在排行榜检测是否有好有的能量可以收集 enterOthers();//结束后返回主页面 whenComplete(); }
原理简单易懂。
通过方法唤醒屏幕,滑动或者解锁等,然后启动支付宝,
查询到蚂蚁森林字段后确认启动完成,然后点击那里。
打开后找到能量球的颜色,点击,直到该颜色消失。
向下滑动找到排行榜字段。点击排行榜。
打开寻找有没有手的图片在当前屏幕,有可以收集的好友就点击进去。找到能量球的颜色然后点击,没有就退出。
没有找到手的图片就往下滑动,继续检查可收集能量的好友。
通过查找“没有更多了”之类的字段,确定收集结束的标准。
最后返回,返回,主页。完成整个过程。
软件可以定时启动,所以有可能定时收取能量。但是要注意是否可以深度唤醒,后台是否运行了软件,是否无障碍服务正常开启等等。。。
文档详细容易操作。
完。
蚂蚁森林自动收能量的最新脚本相关推荐
- 苹果 python蚂蚁森林自动收能量_GitHub - dxp432/adb_python_alipay_AntForest: 蚂蚁森林自动收取能量、偷取能量、浇水(使用adb、python)...
蚂蚁森林自动收取能量.偷取能量.浇水 蚂蚁森林自动收取能量.偷取能量.浇水(使用adb.python)adb_python_alipay_AntForest 涉及到的技术: 1.python 2.ad ...
- 苹果 python蚂蚁森林自动收能量_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...
1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...
- 30 行代码实现蚂蚁森林自动收能量(附送源码)
点击上方 IT牧场 ,选择 置顶或者星标技术干货每日送达! blog.csdn.net/article/details/113734855 推荐:https://www.xttblog.com/?p= ...
- 30 行Python代码实现蚂蚁森林自动收能量(附送源码)
公众号 "菜鸟学Python", 设为 "星标" 带你一起学Python 编辑:业余草 blog.csdn.net/article/details/113734 ...
- 苹果 python蚂蚁森林自动收能量_Python自动化收取蚂蚁森林能量,不错过暗恋的她...
作者 | 锅g头 来源 | Crossin的编程教室最近在家远程工作,结果作息更混乱了 ,早上起不来,导致我蚂蚁森林能量天天被偷,严重影响我沙漠造树"大业" .于是我决定用pyth ...
- 好厉害!30 行代码实现蚂蚁森林自动收能量
点击上方蓝色"终端研发部",选择"设为星标" 学最好的别人,做最好的我们 虽然我支付宝加了好多好友,平时有很多能量可以"偷",但由于太懒,至 ...
- 苹果 python蚂蚁森林自动收能量_通过测试工具自动收取蚂蚁森林能量
本文仅为自动化工具appium的技术研究,请勿用于任何非正当用途 最近在家远程工作,结果作息更混乱了,早上起不来,导致我蚂蚁森林能量天天被偷,严重影响我沙漠造树"大业" ♂️.于 ...
- 苹果 python蚂蚁森林自动收能量_蚂蚁森林自动收取能量、偷取能量、浇水(使用adb、python)...
涉及到的技术: 1.python 2.adb 具备的功能: 1.自动收取能量 2.自动偷取能量 3.自动给指定的朋友浇水 使用方法: 1.打开电脑,USB线一头接手机,一头接电脑. 2.电脑运行pyt ...
- Nexus 5X手机在支付宝的蚂蚁森林自动收能量的过程
用其他手机,其他刷机包,都是可以的. 下载刷机包 https://downloads.aospextended.com/bullhead 个人觉得aospextended的rom比较省电,其他刷机包或 ...
最新文章
- excel 小知识汇总
- audio标签下方有空隙的原因与解决方法
- 人生影响最大的三位老师
- 普通人看Build 2019 值得留心的亮点有哪些?
- read和write函数的使用
- jQuery教程10-表单元素选择器
- DBSCAN聚类算法初探(五)
- matlab2c使用c++实现matlab函数系列教程-std函数
- SAI v2.0小巧强大的板绘工具
- ASCII 码对照表
- 迪普Web应用防火墙产品线
- 电阻温度系数、电阻精度对电阻分压采样电压的影响
- ML1.1 机器学习误差分析
- 工业设计公司常对设计有什么要求?
- leetcode零散题汇总
- 如何设置potplayer播放器把人声凸显出来并降噪?
- kaggle比赛——Jigsaw Rate Severity of Toxic Comments(NLP类型)——分析获奖模型笔记
- echarts水球图
- 影之诗闪卡动图_影之诗怎么制作闪卡_闪卡的制作方法_软吧
- 找出viewgood webplayer播放的电影地址!---在线播放 和 下载