科技改变生活 · 科技引领未来

  • 首页
  • 资讯
  • 技术
  • 百科
  • 问答
  • 学习
  • 看看
  • 站长
  • 生活
  • 快讯

首页 > 看看 > 创业经验

设置微信自动抢红包(微信内置自动抢红包)

时间:2022-08-23 04:09 作者:刘书

目录:

0 引言

1 环境

2 需求分析

3 前置准备

4 抢红包流程回顾

5 代码梳理

6 后记

0 引言

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

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

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

1 环境

操作系统:Windows

Python版本:3.7.2

手机系统:Android

2 需求分析

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

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

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

3 前置准备

3.1 打开手机的USB调试

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

在手机上打开USB调试后,接下来我们通过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 的下载地址:

http://airtest.netease.com/

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

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

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

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

4 抢红包流程回顾

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 代码梳理

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

 打开手机微信
poco(text=&39;微信&39;).click()

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

 群聊消息的元素标识
Chat_msg = poco(name=&39;com.tencent.mm:id/d1v&39;).offspring(&39;com.tencent.mm:id/b6e&39;)
 获取当前页面中所有群聊的名称
Chat_names = []
Chat_names = list(map(lambda x: x.get_text(), Chat_msg))

选择并进入指定的群聊

 指定抢红包的群聊名称
chat = input(&39;请指定群聊名称:&39;)
if chat in Chat_names:
    index = Chat_names.index(chat)
     点击进入指定的群聊
    Chat_msg[index].click()

在微信聊天页面中,获取当前页面中的所有消息元素。
msg_list = poco(&34;android.widget.ListView&34;).children()

遍历消息并查找红包

for msg in msg_list:
     微信红包的标识
    LuckyMoney = msg.offspring(&39;com.tencent.mm:id/aql&39;)
     已失效红包(比如已领取、已被领完)的标识
    Invalid = msg.offspring(&39;com.tencent.mm:id/aqk&39;)

     判断红包是否有效并抢起来!
    if LuckyMoney:
        pass

在LuckyMoney中定义抢红包的动作

if Invalid.exists() and (Invalid.get_text()==&39;已领取&39; or Invalid.get_text()==&39;已被领完&39;):
    print(f&39;红包已无效,跳过……&39;)
    continue
else:
    print(f&39;发现一个新红包,抢起来!&39;)
    poco(&34;com.tencent.mm:id/d1v&34;)
    msg.click()

    click_open = poco(&34;com.tencent.mm:id/d02&34;)
    if click_open.exists():
        click_open.click()
    keyevent(&39;BACK&39;)

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官方文档

评论区评论:python抢红包,获取本文所涉及的完整代码

相关话题

  • 超人总动员3 超人总动员3看不了吗
  • 建设银行积分兑换商城 手册兑换商店下架
  • 胰腺炎是怎么引起的 胰腺炎早期有三处痒
  • 如何调整生物钟 作息乱了怎么调整
  • 身上起小红点 人身上螨虫小红点图
  • 使命召唤5下载 手机下载使命召唤5
  • 舞动奇迹第三季(武动第三季在线观看)
  • move是什么意思 moved什么意思
  • 执牛耳是什么意思 执牛耳是指什么
  • 年下是什么意思 师尊你里面好热车禁忌寝室
  • 玉不琢不成器的意思 玉不琢不成器 的器是什么意思
  • 牵羊礼什么意思 牵羊礼女人
  • 前端开发培训机构 前端培训机构排名前十
  • 流行歌曲排行榜 最经典歌曲排行榜
  • 广东高考时间 2022广东高考时间公布
  • 我的世界活塞 我的世界活塞怎么做
  • md5在线加密 md5在线加密hex
  • 梦幻模拟战2秘籍 梦幻模拟战2ps版秘籍
  • 我的世界怎么去天堂 我的世界在手机上怎么去天堂
  • 汽车空调滤芯 汽车空调滤芯会怎样

热门推荐

  • 古钟二锅头46度多少钱(全国喝啥酒)
  • 顺丰寄50斤冰箱多少钱(评测五大快递平台)
  • 做饭保姆一个月多少钱(52岁阿姨哭诉)
  • 鹿茸补肾丸多少钱一盒(参茸鞭丸肾阴虚者能吃吗)
  • 北京换烤瓷牙多少钱(明星为整牙有多拼)
  • 乐高培训加盟费多少钱(乐高教育取消授权波及上百门店)
  • 西凤酒15年多少钱一瓶(价不高待客又不失面子的纯粮酒)
  • 聚酰亚胺多少钱一公斤(酶中战斗机)
  • 公司入职体检一般多少钱(通过聘多多找到工作)
  • 插座维修上门多少钱(换个插座还用找电工)
  • 二元店一年挣多少钱(揭秘)
  • ctfau750钻戒多少钱(黑客游戏和解谜游戏的关联之处)
  • 23年工龄退休拿多少钱(缴费23年)
  • 平衡霜多少钱一瓶(日本POLA旗下这个小众牌子THREE)
  • 欧米茄手表电池多少钱一块(福布斯公布运动员收入榜单)
  • 正规医院种植牙多少钱一颗(成本百元却卖上万)
  • 微信能卖多少钱(微信账号被公开买卖)
  • 奔富707多少钱一瓶(宴请时的)
  • 超声波焊接机多少钱一台(关于超声波焊接)
  • 一鸣加盟费要多少钱(一鸣真鲜奶吧多少钱)

刘书

关注
免责声明:本文章由会员“刘书”发布,如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务 如因作品内容、版权和其他问题请于本站联系

关注排行榜

  1. 1新百伦多少钱(都有一个)
  2. 2活牛多少钱一斤(牛价丨2月11日)
  3. 3铝单板多少钱一平方(铝单板厂家报价大揭秘)
  4. 4一箱牛奶多少钱(实体店一箱牛奶卖50元)
  5. 5普洱茶一般多少钱(有的普洱茶只要几十有的上万)
  6. 6换手机外屏多少钱(盘点各个旗舰手机换屏价格)
  7. 7一辆电动车多少钱(最低不到8000元)
  8. 8巴宝莉围巾多少钱(花2580元网购的博柏利围巾竟系假货)
  9. 9养老保险每年多少钱(2021年养老保险缴费15年)
  10. 10每升油多少钱(​定了)

编辑精选

Copyright ©2009-2022 KeJiTian.Com, All Rights Reserved

版权所有 未经许可不得转载

增值电信业务经营许可证备案号:辽ICP备14006349号

网站介绍 商务合作 免责声明 - html - txt - xml