开启左侧

30 行代码完成蚂蚁森林自动收能量(附送源码)

[复制链接]
在线会员 微笑听雨 发表于 2023-2-8 09:42:46 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
固然尔付出宝减了很多多少密友,平常有许多能质能够偷,但是因为太懒,于今一棵树皆出种成,以是心心想想把偷能质那事主动化。
以前颠末用代码模仿脚机面按的方法,完毕了 朋友圈主动面赞,但是其时蚂蚁丛林的操纵过程要比朋友圈面赞庞大许多,以是其时便不完毕主动偷能质。
不外尔这篇专客批评上面有网友举荐了appium战uiautomator2那俩东西,近来抽暇钻研了下,发明用uiautomator2的话那事简朴了很多多少,并且因为蚂蚁丛林改版,持续偷能质的操纵过程也简朴了很多多少,因而乎尔便完毕了主动偷能质,结果以下,
残破望频戳那里
https://www.ixigua.com/6926121921931117063
30 止代码完毕蚂蚁丛林主动支能质(附收源码)-1.jpg
交下来介绍下道理战完毕方法,起首假设让您脚动来支能质的话,您是甚么过程?

  • 翻开付出宝
  • 翻开蚂蚁丛林
  • 先支与自己的能质
  • 跳到下一个有能质的人哪
  • 支与ta的能质
  • 重复4战5,曲到不能质能够偷
很幸运的是,借帮Uiautomator2,那些均可以主动化。UiAutomator是Google供给的用去干安卓主动化尝试的一个Java库,能够获得屏幕上尽情一个APP的尽情一个控件属性,并对于其截至尽情操纵。Uiautomator2是正在Uiautomator之上的python的交心启拆,简朴来讲 Uiautomator2能够瞅得手机目前屏幕上有哪些控件,其坐标是啥,而且借能够模仿面打。
Uiautomator2的装置战使用

具体能够参照下民间文档Uiautomator2 ,装置方法很简朴,上面一条号令便可。
  1. pip install --upgrade --pre uiautomator2
复造代码
使用的话那里有多少个坑,脚机交进电脑前起首需要启开开辟者情势,并启开USB调试,USB装置 (以下图),如许才气包管uiautomator2有充足的权力操纵您的脚机。


30 止代码完毕蚂蚁丛林主动支能质(附收源码)-2.jpg

第一次使用过uiautomator2后,它会正在您脚机上装置ATX那个使用,翻开那个使用您就能够以后颠末无线的方法操纵您的脚机了。
具体完毕

怎样翻开付出宝并加入蚂蚁丛林?

Uiautomator2能够间接颠末使用包名调起使用d.app_start("com.eg.android.AlipayGphone"),啥?您没有明白付出宝的包名?您能够装置Uiautomators2后用其号令止检察付出宝的包名,具体能够查阅其文档。
怎样加入蚂蚁丛林?Uiautomators2供给了间接面打屏幕某个笔墨的职位,d(text="蚂蚁丛林").click()。以是倡议您把蚂蚁丛林搁的付出宝尾页,如许翻开付出宝后就能够间接定位到蚂蚁丛林的职位了。


30 止代码完毕蚂蚁丛林主动支能质(附收源码)-3.jpg

支能质



30 止代码完毕蚂蚁丛林主动支能质(附收源码)-4.jpg

今朝定位到具体能质的职位,以是最简朴的方法即是把统统能质可以呈现的职位皆扫一遍(如上图白框),而后面打找能质按钮跳到下一小我私家这持续涤荡。
怎样中断

如何停下来是个年夜成就,因为上面的逻辑皆是模仿面打,假设没有正在适宜的机缘停下来,鬼明白它会给尔按出甚么工具。颠末几回察看,尔发明不能质偷以后,付出宝会跳到上面那个页里上,那里只要供查抄下"前去尔的丛林"按钮可否存留便可。


30 止代码完毕蚂蚁丛林主动支能质(附收源码)-5.jpg

残破代码

残破代码很短,以下:
  1. import uiautomator2 as u2
  2. import time
  3. import random
  4. # d = u2.connect()  # 有线跟尾,脚机需要插电脑上
  5. d = u2.connect("192.168.0.108") #颠末无线跟尾,电脑战脚机需要正在统一个局域网内乱,而且需要先用有线的方法干过初初化
  6. # d.app_stop("com.eg.android.AlipayGphone")
  7. print("翻开付出宝")
  8. d.app_start("com.eg.android.AlipayGphone")
  9. time.sleep(2) ## 戚眠2s等候付出宝完整启用
  10. print("翻开蚂蚁丛林,等候5s……")
  11. d(text="蚂蚁丛林").click()
  12. time.sleep(5) ## 尔脚机比力卡,加入蚂蚁丛林后借需要多少秒钟才气完整减载完   
  13. def collectEnergy(cnt):
  14.     print("开端第%d次偷能质!" % cnt)
  15.     # 开端扫描面打有才气呈现的地区  
  16.     for x in range(150,1000,150):
  17.         for y in range(600,900,150):
  18.             d.long_click(x + random.randint(10,20), y + random.randint(10,20), 0.1)
  19.             time.sleep(0.01)
  20.             if cnt != 1:
  21.                 d.click(536,1816)
  22. cnt = 1
  23. while True:
  24.     collectEnergy(cnt)
  25.     a = d.xpath("//*[@resource-id='J_tree_dialog_wrap']").get().bounds
  26.     d.click(1000, a[3]-80) # 找能质按钮的坐标
  27.     ##假设 页里呈现了“前去尔的丛林”分析已经不能质可偷了,完毕
  28.     if d.xpath('//*[@text="前去尔的丛林"]').click_exists(timeout=2.0):
  29.         break
  30.     cnt += 1
  31. print("###完毕###")
  32. # d.app_stop("com.eg.android.AlipayGphone") #参加 付出宝
复造代码
结语

扔启正文,果然没有到30止代码,但是倡议用的时候仍是高调面,别让您的密友明白您启了挂而后推乌您。
作家:xindoo
滥觞:30止代码完毕蚂蚁丛林主动偷能质
举荐

强大,10k+面赞的 SpringBoot 背景办理体系竟然出了具体学程!
分享一套鉴于SpringBoot战Vue的企业级中背景启源名目,代码很标准!
能挣钱的,启源 SpringBoot 女伶 href="https://www.taojin168.com" target="_blank">商乡体系,功用超齐,超斑斓!

精彩评论4

avatar
在线会员 CQPs1KQn 发表于 2023-2-8 09:43:29 | 显示全部楼层
厉害, 开这么高的权限玩这个
回复

使用道具 举报

avatar
在线会员 16hxxW4 发表于 2023-2-8 09:44:20 | 显示全部楼层
有ios的嘛
回复

使用道具 举报

avatar
在线会员 2p9KVB 发表于 2023-2-8 09:45:19 | 显示全部楼层
所以这个自动收能量还要连着电脑是吧
回复

使用道具 举报

avatar
在线会员 WAbj 发表于 2023-2-8 09:46:15 | 显示全部楼层
偷个能量都是我看不懂的样子[捂脸]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )