本脚本支持仅19201080 像素分辨率的机子上面正常运行。*

-------------------------------------------------------------------------------

我是真的懒,连能量都不想好好收,因此写了脚本来自动帮我收能量.

**Auto.js **这款脚本应用我们在应用市场可以很方便搜索到,它在没有root的时候可以通过开启无障碍服务来实现模拟点击滑动,监听等等.使用下面这个脚本,可以实现打开支付宝,进入蚂蚁森林(你得将它添加到主页常用子应用中),滑动,查找有能量的好友,进入收集。

好好享用,那么上代码:

/**

*

* @name 支付宝自动收能量脚本

* @author Oliver

* @description 需要您的设备分辨率为1920*1080;小米8上,截图需要手动允许,需要点击 “立即开始”; 开始运行时请保证支付宝已经处于首页

*/

auto();

main();

/**

* 下面注释代码可以进一步完善,读取到可以收取的时间,做个记录,然后到时间自动进去收集

*

events.observeNotification();

events.onToast(function (toast) {

var text = toast.getText();

var appName = toast.getPackageName();

var subIdx = text.indexOf("后");

if (appName == "com.eg.android.AlipayGphone" && subIdx != -1) {

var sub = text.substring(0, subIdx);

var idxHour = sub.indexOf("小时");

var idxMin = sub.indexOf("分");

var hour = 0;

var min = 0;

if (idxHour == -1) {

var stringMin = sub.substring(0, idxMin);

min = parseInt(stringMin)

} else {

var stringHour = sub.substring(0, idxHour);

var stringMin = sub.substring(idxHour + 2, idxMin);

hour = parseInt(stringHour)

min = parseInt(stringMin)

}

var time = (hour * 60 + min) * 60 * 1000;

if (nextTime > time) {

nextTime = time;

}

log("NextTime=" + hour + ":" + min + " Microseconds=" + nextTime + "ms");

}

});

//setTimeout(function() {

//}, 1000*1);

// main();

var nextTime = 900000000000;

*/

var end = false;

function main() {

toast("程序开始运行!");

launchApp("支付宝");

sleep(3000);

click("蚂蚁森林"); //为了这后面正常运行,将蚂蚁森林放在支付宝首页中

sleep(3000);

collect();

swipe(540, 1910, 540, 100, 500)

swipe(540, 1910, 540, 100, 500)

swipe(540, 1910, 540, 100, 500)

click(672, 954); //查看排行榜

sleep(2000);

swipe(540, 1800, 540, 1800 - 240, 500);

sleep(500);

toast("现在开始收集能量了!");

while (!end) {

execute();

}

}

function execute() {

swipe(540, 1919, 540, 88, 500)

col();

swipe(540, 1734, 540, 1734 - 156, 500)

click(540, 1918);

sleep(2000);

swipe(540, 1857, 540, 155, 500);

sleep(1000);

col();

}

function col() {

if (!requestScreenCapture()) {

toast("没有截图权限,程序退出!");

exit();

end = true;

}

var img = captureScreen();

for (var i = 187; i <= 1816; i = i + 200) {

if (isEnd(img, i)) {

back();

sleep(1000);

back();

sleep(1000);

back();

sleep(1000);

toast("完成任务啦!")

end = true

}

var p = getColor(img, i);

if (p) {

click(1017, p.y + 20);

sleep(3000);

collect();

back();

sleep(1000);

} else {

log(i + " p=null");

}

}

}

function getColor(img, y) {

var p = findColor(img, "#30bf6c", {

region: [1017, y, 63, 100]

});

return p;

}

function isEnd(img, y) {

var p = findColor(img, "#30bf6c", {

region: [860, y, 10, 10]

});

if (p) {

return true;

} else {

return false;

}

}

function collect() {

for (var y = 460; y <= 860; y += 100) {

for (var x = 185; x <= 890; x += 100) {

click(x, y);

}

}

}

image.gif

Python中的实现,我们使用android的自动化测试库uiautomator来实现,使用opencv来实现对截图的中可搜集小手的识别,目前还不是很完善,提供一个思路,希望有时间的你来实现,其实Auto.js那个真的好用;-)

#! -*- coding=utf-8 -*-

from uiautomator import Device

from uiautomator import Adb

import os

import cv2

import numpy as np

from matplotlib import pyplot as plt

def match():

img = cv2.imread("1.png",0)

img2 = img.copy()

template = cv2.imread("match.png",0)

w,h = template.shape[::-1]

# method = eval('cv2.TM_CCOEFF')

method = eval('cv2.TM_CCOEFF_NORMED')

res = cv2.matchTemplate(img2,template,method)

threshold = 0.5

loc = np.where( res >= threshold)

arr = []

for pt in zip(*loc[::-1]):

cv2.rectangle(img, pt, (pt[0] + w, pt[1] + h), (0,0,255), 2)

d = (pt,(pt[0] + w, pt[1] + h),)

arr.append(d)

cv2.imwrite('res.png',img)

return arr

if __name__ == "__main__":

d = Device("7cba0eb")

# d.screen.on()

# a = Adb()

# os.system("adb shell am start -n com.eg.android.AlipayGphone/.AlipayLogin")

# # a.cmd("shell am start -n com.eg.android.AlipayGphone/.AlipayLogin")

# d(text="蚂蚁森林").click()

# # d(text="种树").click(

# print d.info

# d.wait.idle()

# d.wait.update()

# d.screenshot("1.png")

# d(scrollable=True).fling()

# web = d(className="com.uc.webview.export.WebView")

# web = d(className="com.uc.webkit.WebView")

# web.scroll.toEnd()

# web.swipe.down()

# web.click(800,940)

# d.wait.update()

# web = d(className="com.uc.webview.export.WebView")

d.screenshot("1.png")

loc= match()

print loc

# print (tl[0]+br[0])/2,(tl[1]+br[1])/2

# d.click((tl[0]+br[0])/2,(tl[1]+br[1])/2)

# d.wait.update()

# for y in range(400,870,100):

# for x in range(50,1080,100):

# d.click(x,y)

image.gif

苹果 python蚂蚁森林自动收能量_PythonAuto.js:实现蚂蚁森林自动收能量(懒人的高效生活)...相关推荐

  1. 类似蚂蚁森林html5游戏源码,js仿照 蚂蚁森林 效果

    如图js仿照 蚂蚁森林 效果 css ** 葫芦籽动画效果 */ /* animation */ .a-swing{-webkit-animation:1s ease;-moz-animation:1 ...

  2. html自动复制支付宝口令,JS给网站添加自动复制支付宝红包口令代码 让访客自动复制支付宝红包口令...

    主要利用了clipboard的剪切板访问复制功能,只要访客按到BODY内的任意位置都会自动复制设置的内容到访客的剪切板 核心代码如下: var clipboard = new Clipboard('b ...

  3. 苹果 python蚂蚁森林自动收能量_GitHub - dxp432/adb_python_alipay_AntForest: 蚂蚁森林自动收取能量、偷取能量、浇水(使用adb、python)...

    蚂蚁森林自动收取能量.偷取能量.浇水 蚂蚁森林自动收取能量.偷取能量.浇水(使用adb.python)adb_python_alipay_AntForest 涉及到的技术: 1.python 2.ad ...

  4. 苹果 python蚂蚁森林自动收能量_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...

    1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...

  5. python支付宝自动收能量_叫你蚂蚁森林如何自动收取能量(Python)

    Python 兄弟姐妹们谁年轻是没有玩过农场,牧场游戏,现在有了蚂蚁森林,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁 ...

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

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

  7. 如何利用Python抢回在蚂蚁森林把逝去的能量,不用天天担心别人来偷能量了。

    1 蚂蚁森林简介 蚂蚁森林是一项旨在带动公众低碳减排的公益项目,每个人的低碳行为在蚂蚁森林里可计为"绿色能量"."绿色能量"积累到一定程度,就可以用手机申请在生 ...

  8. Auto.js 脚本自动收取自己和好友的蚂蚁森林能量

    用autoJS写的能量收取脚本软件.说一下达到的效果,把蚂蚁森林按钮要设置在常用应用中.先收取自己主页的能量,然后进入排行榜收集好友的能量.中途可以按下音量下键提前结束脚本运行.改改测测基本上现在运行 ...

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

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

  10. 支付宝蚂蚁森林php自动,auto.js蚂蚁森林智能脚本使用方法分享 支付宝蚂蚁森林自动辅助...

    auto.js蚂蚁森林智能脚本使用方法分享 支付宝蚂蚁森林自动辅助 这个项目是 github上的一个开源项目,作者应该是 SuperMonster ,此人在52也有ID 不管怎么说是一个长期维护的开源 ...

最新文章

  1. 英特尔CEO:英特尔下一个市场将是无人驾驶汽车
  2. 服务级后门自己做——创建服务
  3. 3.1 if条件语句
  4. 李飞飞:新技术变革时代的数据库产业
  5. TypeError: Object of type ‘datetime‘ is not JSON serializable
  6. VS2005代码格式化
  7. python猜名词甲乙丙_用python实现了一下:甲乙两人互猜数字(数理逻辑)
  8. JAVA设计模式-委派模式(Delegate)
  9. 从尿检取中段谈数据库压测
  10. 什么叫网关精解(超经典)
  11. Qt QLabel实现自动换行 字符断行 自适应
  12. pywin32库 : Python 操作 windows 系统 API
  13. ECRS分析原则(转载)
  14. 在VMware虚拟机中安装RHEL7
  15. 他是“自由软件”之父,天才程序员,史上最伟大的黑客!最后却黯然离场
  16. MySQL实战第二十二讲-MySQL有哪些“饮鸩止渴”提高性能的方法?
  17. 九度OJ—题目1066:字符串排序
  18. 自定义View实战(一) 汽车速度仪表盘
  19. Email之父去世:因他邮箱才有了@
  20. python汉字排序_Python实现针对中文排序的方法

热门文章

  1. 【Paper】2021_Distributed sliding mode control for time-varying formation tracking of multi-UAV system
  2. 美国弗吉尼亚大学计算机科学,弗吉尼亚大学计算机科学专业
  3. 反射Modifier
  4. Linux常见英文翻译
  5. 深圳小汽车摇号结果采集
  6. Win10下Windows徽标键快捷键大全
  7. 对finecms模板的改造sql
  8. 电脑如何查看wifi密码?
  9. C#编写一个简单串口通讯上位机
  10. PAT(甲级)1148 Werewolf - Simple Version(枚举)