抢红包最快的软件(全自动抢红包永久免费软件)

提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一个前提条件:手机需要root,对于苹果手机的话就需要越狱了。现在的手机想要root或越狱并不容易,同时这会对手机安全性带来一些风险,抢红包本身只是个娱乐活动,这样做就得不偿失了。

为了自动抢红包,python能帮我们实现吗?

答案是肯定的,本文就带大家一起探索下用Python如何实现自动抢红包。

1 环境

操作系统:Windows

Python版本:3.7.2

手机系统:Android

2 需求分析

这里我们的需求是实现自动抢红包。首先要打开微信,进入到指定的群聊,识别微信红包、执行抢红包的动作。这就是关键的步骤,简单清晰。

因为电脑版本的微信没有抢红包的功能,我们只能手机微信,那么就需要把手机连上电脑,通过电脑控制手机来自动抢,那就需要确保「adb」命令可正常执行。

识别微信中的消息,是红包还是普通的信息,这里我们通过聊天消息的元素标识来判断。这里我们借助了「Airtest IDE」工具来实现。

3 前置准备

3.1 打开手机的U**调试

要正常使用「adb」需要打开U**调试,设置项通常出现在手机系统设置中的[开发人员选项]里面。

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

在手机上打开U**调试后,接下来我们通过Airttest IDE验证 adb 运行是否正常。

3.2 下载安装Airtest IDE

开始之前先,先解释下airttest相关概念:

Airtest 是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。

Poco是一款基于UI控件识别的自动化测试框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序,也可以在其他引擎中自行接入poco-sdk来使用。

AirtestIDE 是一个我们配套推出的跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写脚本。

Airtest IDE 的下载地址:


下载之后,解压打开就可以使用,Airtest IDE的界面如下:

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

使用AirtestIDE对Android应用进行自动化操作,第一步就需要连接Android设备。

  1. 请使用U**线连接手机,手机上出现的 允许U**调试 弹窗,点击 确定。
  2. 点击连接面板中的 refresh ADB 按钮,设备列表将会刷新。
  3. 点击列表内对应设备的 Connect 完成连接。
  4. 若设备未刷出,点击 refresh ADB 按钮。

 

若连接遇到问题,请参考Airtest的官方教程:Android真机连接

4 抢红包流程回顾

打开微信,在最左侧的Tab页,微信消息列表,我们需要从这里选择指定的群聊来抢红包。

在AirtestIDE中,我们可以通过暂停功能,冻结当前的UI树形结构来精确地检视UI控件,我们先来分析下这个页面中元素标识。

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

▲聊天页面中整体的群聊消息的元素标识 com.tencent.mm:id/d1v

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

▲聊天页面中单个群聊消息的元素标识 com.tencent.mm:id/b6e

接下来进入我们准备要抢红包的群聊中,识别出红包并执行抢红包的动作。

我们先来看看红包的标识:

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

▲红包标识的示例1 com.tencent.mm:id/aql

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

▲红包标识的示例2 com.tencent.mm:id/aql

点击红包,记录下弹出的大红包页面中“开”的元素标识

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

▲大红包页面中”开“的标识 com.tencent.mm:id/d02

这里我们需要判断是红包是否有效,比如已被领完或是已被自己领取的红包就是无效的,我们在执行时可以跳过这些。

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

▲已领取红包的标识 com.tencent.mm:id/apk

Python自动抢红包,超详细教程,再也不会错过微信红包了
 

▲已被领完红包的标识 com.tencent.mm:id/apk

我们用的各元素的标识都已取到,接下来就是组织我们的代码。

5 代码梳理

首先得打开微信,利用Airtest启动app应用,只须一行代码即可搞定,如下

# 打开手机微信

poco(text='微信').click()



获取当前页面中所有所有群聊的名称

# 群聊消息的元素标识

Chat_msg = poco(name='com.tencent.mm:id/d1v').offspring('com.tencent.mm:id/b6e')

# 获取当前页面中所有群聊的名称

Chat_names = []

Chat_names = list(map(lambda x: x.get_text(), Chat_msg))

选择并进入指定的群聊

# 指定抢红包的群聊名称

chat = input('请指定群聊名称:')

if chat in Chat_names:

    index = Chat_names.index(chat)

    # 点击进入指定的群聊

    Chat_msg[index].click()



在微信聊天页面中,获取当前页面中的所有消息元素。

msg_list = poco("android.widget.ListView").children()



遍历消息并查找红包

for msg in msg_list:

    # 微信红包的标识

    LuckyMoney = msg.offspring('com.tencent.mm:id/aql')

    # 已失效红包(比如已领取、已被领完)的标识

    Invalid = msg.offspring('com.tencent.mm:id/aqk')



    # 判断红包是否有效并抢起来!

    if LuckyMoney:

        pass



在LuckyMoney中定义抢红包的动作

if Invalid.exists() and (Invalid.get_text()=='已领取' or Invalid.get_text()=='已被领完'):

    print(f'红包已无效,跳过……')

    continue

else:

    print(f'发现一个新红包,抢起来!')

    poco("com.tencent.mm:id/d1v")

    msg.click()



    click_open = poco("com.tencent.mm:id/d02")

    if click_open.exists():

        click_open.click()

    keyevent('BACK')



6 后记

若我们在一台电脑上并不想安装Airtest IDE,还能执行这个脚本吗?

当然可以,只需要安装好「pocoui」这个第三方库就可以“抛弃”它了!

pip install pocoui

利用 AirtestIDE 创建一个项目时,设备类型选中 Android,就会在编码区生成一段初始化的代码。

from airtest.core.api import *

auto_setup(__file__)



from poco.drivers.android.uiautomation import AndroidUiautomationPoco

poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)



我们自己编写的Python代码中也需要加上这段初始化的代码。

再次强调,在执行脚本时要确保手机连上电脑,并确保「adb」命令正常运行。

对Airtest有兴趣的小伙伴,可以参考airtest官方教程:AirtestIDE官方文档

本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。

相关推荐

  • 生化危机6艾达攻略,生化危机里的武器介绍

    G36自动**出场电影:《生化危机1》、《生化危机2》、《生化危机5》 使用人物:爱丽丝,詹姆斯,J.D,卢瑟,及保护伞公司其他士兵 该q是德国HK公司与1995年推出的第三代突击**,除q管以外,q托,护木,握把等部件均由黑色塑料制成,因此十分轻便,便于携带。该q使用5.56毫米子弹,最快射速750发/分钟,拥有良好的战术性能,是一款非常不错的单兵武器。M…

    2023-07-07 用户投稿
  • 网游之从零开始,从零开始网游:指南、技巧与攻略

    虚拟与现实交相辉映,游戏与书本完美结合。没错,游戏中的狂飙,书中也有。玩累了网络游戏,也该陶冶陶冶心灵了。酷爽炸翻天,三篇高人气网游小说,听说有的已经改成游戏,即将上映呢! 第一本:《从零开始》作者:雷云风暴 简介: 想要让游戏币兑换现实货币,那就一定要有一个强大的经济实体来担保其可兑换性。而这个实体只能是一国的xx。可是xx为什么要出面担保一个游戏的真实货…

    2023-05-20
  • 巴博萨正式宣布退役(巴博萨正式宣布退役新闻)

    据外媒报道,绰号“巴西闪电”的前NBA最佳第六人巴博萨正式宣布退役,随后将会以球员指导教练的身份加入到勇士队,成为主教练史蒂夫-科尔的教练团队一员。 19年37岁的巴博萨参加世界杯,风采依旧。 在效力联盟的14个赛季,巴博萨场均得到10.6分2.1次助攻2个篮板。 此番重回科尔账下,以助教的身份继续帮助勇士冲冠。

    2023-08-19
  • 孟晚舟事件原因真相是什么(孟晚舟事件将终结)

    一架国泰838航班,在温哥华时间2018年的12月1日上午11点18分,从香港腾空而起,直冲云霄,在这架飞机上,坐着一位优雅的女士,她就是华为的副董事长、首席财务官孟晚舟。 可是,你知道吗?从2017年的3月份起,孟晚舟就再也没有飞往**。因为,华为自从2016年接到了老美的商务部和财政部,发出的两张传票,在这之后,华为就敏锐地意识到了自己,正被老美在进行刑…

    2023-07-28
  • 土耳其vs意大利在哪举行

    直播吧11月17日讯 欧足联今天通过官方网站确认,在欧洲中部时间11月16日12:00(北京时间19:00)的截止时间后,已收到三家竞标者提交的主办2028年和2032年欧洲杯的初步申办文件。 英格兰、北爱尔兰、爱尔兰、苏格兰和威尔士足球总会提交了2028年欧洲杯的申办文件,土耳其足协提交了申办2028年或2032年欧洲杯的文件,而意大利足协提交了申办203…

    2023-06-05
  • 中国女排身高(亚运会中国女排泰国女排)

    2023年亚洲女排锦标赛将在泰国开幕,中国女排最后时刻14人大名单才揭晓,最遗憾的是年轻高二传解盛钰压线出局,被广东的郁佳睿挤出了大名单。亚锦赛阵容在大运会夺冠的二队阵容基础上补充了杨涵玉,加上许晓婷、仲慧一共3位世联赛的总决赛亚军成员压阵。具体名单如下: 自由人:许嘉楠、武欣宇 二传:许晓婷、郁佳睿 接应:周页彤、缪伊雯 主攻:吴梦洁、段放、王艺竹、仲慧 …

    2023-09-20