Python脚本 Python配合adb命令实现自动发红包

1.前言

adb是个好东西,可以通过提供的坐标模拟点击手机屏幕的相应位置.像以前很火的"跳一跳"就是通过adb实现自动跳跃.在手机使用按键精灵的脚本其实原理也都大同小异,确定坐标-点击-延时这几步.
ps.脚本只要不是恶意脚本,例如用于游戏中的刷材料经验,或是多次点击刷数据的行为,编写脚本,释放双手,还是挺滋润的.

2.介绍

今天是狗群主生日,群员要求群主发红包.但是群主手上就只剩下可怜的几十块饭钱,面对这么多号群员,怎样才能满足他们呢?
1.红包数量要足
2.红包次数要多

3.红包的金额要高(楼主没有钱,这条不听群员的)
聪明的群主想到了每次发红包的总金额设置1元,红包个数10个,发30次.那这样总共的红包金额=1x30=30元,总的红包个数却高达10x30=300个,这样就实现满足群友的需求.

3.步骤

(1)设置-系统-关于手机-版本号点击7次开启开发者选项
(2)系统-开发者选项-开启USB调试
(3)下载adb,百度网盘下载
(4)解压并打开文件夹,运行shell.bat,输入adb devices,之后会开启守护进程,最后显示
在这里插入图片描述
表示adb开启成功.
(5)测试: 输入命令adb shell input tap 100 100,如果手机屏幕有反应了,那就可以开始写脚本啦~
(6)定位
adb shell input tap x y,其实就是在屏幕[x,y]进行了一次点击.准确的定位可以在开发者选项中开启
1.按钮回显:显示点按操作反馈
2.位置显示:指针位置
Python脚本 Python配合adb命令实现自动发红包_第1张图片
当点击或拖动时,就会在上方显示坐标x,y,根据坐标就能进行定位了
Python脚本 Python配合adb命令实现自动发红包_第2张图片
(7)确认流程
只要熟悉了点击按钮的逻辑,先按什么,再按什么就能完成一次发红包操作了,然后循环30遍就能发完所有的红包.
首先让手机停留在这个页面,作为每次操作的主页面,
Python脚本 Python配合adb命令实现自动发红包_第3张图片
然后点击红包
Python脚本 Python配合adb命令实现自动发红包_第4张图片
输入第一个总金额,输入第二个红包个数,输入后点击塞钱进红包
Python脚本 Python配合adb命令实现自动发红包_第5张图片
最后输入密码,等待一点时间就发送完毕,回到主页面,完成了一次操作.
(8)编写脚本

from os import system
import time


def tap(x, y):
    system(r"cd /d E:\adb\ && adb shell input tap {} {}".format(x, y))


rep = [
    # [坐标x , 坐标y , 完成该步操作后等待时间t]
    [145, 1569, 0.3],  # 点击红包
    [794, 274, 0.3],   # 点击总金额
    [180, 1305, 0.1],  # 1元
    [759, 535, 0.3],   # 点击红包个数
    [865, 1287, 0.1],  # 3
    [559, 1833, 0.3],  # 0
    [491, 1161, 0.1],  # 关闭输入法
    [555, 1245, 0.5],  # 塞钱进红包
    # 此处输入六位密码完成发送(这里以123456为例)
    [180, 1305, 0.1],  # 1
    [507, 1280, 0.1],  # 2
    [860, 1270, 0.1],  # 3
    [100, 1472, 0.1],  # 4
    [480, 1490, 0.1],  # 5
    [840, 1480, 0.1]   # 6
]

if __name__ == '__main__':
    for times in range(30):  # 发30次
        for i in rep:
            x = i[0]
            y = i[1]
            t = i[2]
            tap(int(x), int(y))
            time.sleep(t)  # 动态缓冲时间

4.写在最后

最后群主被群员围殴死了,全文完.

你可能感兴趣的:(Scripts,Python编程,Python小玩意)