网站首页 > 教程文章 正文
偷能量是一套机械的动作,所以可以用程序来自动执行,而python作为目前最热的编程语言,只需要十多行代码就可以帮我们搞定偷能量的事,再也不用担心早上起不来能量被好友偷走了.
#导入所需要的库
import uiautomator2 as u2 #没有装库的需要先执行安装命令:pip3 install --pre -U uiautomator2
import time
import os
配置手机环境,需要打开手机的开发者选项,打开开发者选项中的指针、USB调试
打开开发者选项中的USB调试和指针位置
打开指针后,会显示点击屏幕的x,y坐标,蓝色圈为点击位置,屏幕上方的红色圈内为点击位置的坐标值
将USB连接手机至电脑,打开命令提示符,输入命令 adb devices,可看到连接的设备(电脑需要提前装好开发者工具Android Platform Tools,否则没有adb命令)
手机连接pc,输入adb命令adb devices发现设备后表明设备已连接成功
pc终端输入命令,以安装atx-agent至手机
python3 -m uiautomator2 init
安装成功会出现以下信息
In [ ]:
#配置好环境后开始写代码控制手机
d = u2.connect_usb()#通过USB连接手机
d.app_start("com.eg.android.AlipayGphone")#启动支付宝应用
time.sleep(2)#休眠两秒,给手机缓冲时间
d(text="蚂蚁森林").click()#点击组件蚂蚁森林
time.sleep(2)
count=0
while True:#循环遍历好友的蚂蚁森林
count += 1
#依次点击所有可能出现能量球的位置
d.click(205.0, 749.0)#点击205.0, 749.0,该位置可能出现能量球
d.click(215.0, 735.0)
time.sleep(0.5)
d.click(356.0, 666.0)
d.click(448.0, 632.0)
time.sleep(0.5)
d.click(603.0, 637.0)
d.click(723.0, 664.0)
time.sleep(0.5)
d.click(862.0, 746.0)
d.click(878.0, 759.0)
d.click(959.0, 1565.0)#这个位置是找能量的位置,点击这会跳到下一个好友的蚂蚁森林
time.sleep(1)
if count>=10:#遍历十次后(好友多的可设置大一些),为合种浇水
d.click(975.0, 1191.0)
time.sleep(5)
d.click(943.0, 2187.0)
d.click(529.0, 1405.0)
d.app_stop("com.eg.android.AlipayGphone")#浇水后关闭支付宝
break
print("能量偷完啦")
In [ ]:
#将偷能量的代码装封成一个函数
def TouNengLiang():
d = u2.connect_usb()#通过USB连接手机
d.app_start("com.eg.android.AlipayGphone")#启动支付宝应用
time.sleep(2)#休眠两秒,给手机缓冲时间
d(text="蚂蚁森林").click()#点击组件蚂蚁森林
time.sleep(2)
count=0
while True:#循环遍历好友的蚂蚁森林
count += 1
#依次点击所有可能出现能量球的位置
d.click(205.0, 749.0)#点击205.0, 749.0,该位置可能出现能量球
d.click(215.0, 735.0)
time.sleep(0.5)
d.click(356.0, 666.0)
d.click(448.0, 632.0)
time.sleep(0.5)
d.click(603.0, 637.0)
d.click(723.0, 664.0)
time.sleep(0.5)
d.click(862.0, 746.0)
d.click(878.0, 759.0)
d.click(959.0, 1565.0)#这个位置是找能量的位置,点击这会跳到下一个好友的蚂蚁森林
time.sleep(1)
if count>=10:#遍历十次后(好友多的可设置大一些),为合种浇水
d.click(975.0, 1191.0)
time.sleep(5)
d.click(943.0, 2187.0)
d.click(529.0, 1405.0)
d.app_stop("com.eg.android.AlipayGphone")#浇水后关闭支付宝
break
print("能量偷完啦")
In [ ]:
#设置定时偷取能量
now_time = datetime.now()#获得当前时间
if now_time.hour==7:#如果当前时间的时钟为7,即早上7点时,调用偷能量的函数开始收取能量,可根据自身需求选择收取时间
TouNengLiang()
运行程序可以看到自动点击的指针,图中的蓝色十字线
上面程序靠定位x和y的坐标机械地收取能量,虽然速度快,但无法应对突发情况,比如突然跳出弹窗,控制循环的count不好选定,下一步出个智能版的收能量程序.
猜你喜欢
- 2025-07-21 万级规模 K8s 如何管理?蚂蚁双11核心技术公开
- 2025-07-21 体验新秩序:前端接入 AI 的七个高效平台
- 2025-07-21 React对话框组件实现(react 聊天窗口)
- 2025-07-21 浪潮信息牵头IEEE全球首个区块链跨链网关标准制定
- 2025-07-21 蚂蚁集团的 Web3D 引擎 Galacean Engine 1.5 现已正式发布 !
- 2025-07-21 详解|一文帮你区分Radio、Tabs 和 Segmented 组件的应用场景
- 2025-07-21 支付宝推出iOS14桌面小组件(ios14支付宝小组件置顶)
- 2025-07-21 支付宝适配iOS 14小组件真方便(ios14不支持支付宝小组件嘛)
- 2025-07-21 蚂蚁链宣布开源跨链技术(蚂蚁链宣布开源跨链技术的原因)
- 2025-07-21 蚂蚁金服软件测试工程师一面面试题(附答案)建议收藏
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)