早上起不来,担心能量被偷?我用python自动收/偷能量

liftword3周前 (12-15)技术文章20

偷能量是一套机械的动作,所以可以用程序来自动执行,而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不好选定,下一步出个智能版的收能量程序.

相关文章

Python,pyqt5的信息弹窗和关于弹窗

今天我们来学习pyqy5的信息弹窗和关于弹窗信息弹窗代码效果关于弹窗代码效果...

Python终于可以简单做个漂亮界面!pywebio做一个数据查询器

界面的制作一直是 Python 的痛!使用 Python 制作桌面端界面是非常痛苦的过程(又难学又难看)。不过,Python 已经出现了几个基于web前端的库,他们的基本机制大同小异,如果对 界面操作...

3种Python恶搞脚本,医院的WiFi实在太快了

Python 无限恶搞朋友电脑,别提有多爽了,哈哈,打造自己的壁纸修改器,电脑无限锁屏, 无线弹窗,都在这里!!!修改电脑桌面壁纸工具使用开发环境:python3.7, Windows10使用工具包:...

实战分享:用Python实现喝水休息提醒器

在日常工作和学习中,很多人常常会因为忙碌而忘记喝水或起身活动。为了改善这种情况,我用Python编写了一个简单的定时提醒脚本,不仅能帮我们保持健康,还能让工作效率更高!以下是这个脚本的实际操作和使用说...

几行代码,实现Python捕获、播放和保存摄像头视频

作者:闲欢来源:Python 技术前几天有个读者在粉丝群里面提了一个问题:Python 怎样提高视频清晰度和对比度?我之前没有涉及到使用 Python 操作视频这一方面,所以当时很抱歉地跟读者朋友说暂...