当前位置:首页 » 《随便一记》 » 正文

简单步骤比别人抢红包快一步

0 人参与  2023年02月03日 10:12  分类 : 《随便一记》  评论

点击全文阅读


在这里插入图片描述

?‍♂️ 个人主页@老虎也淘气 个人主页
✍?作者简介:Python学习者
? 希望大家多多支持我们一起进步!?
如果文章对你有帮助的话,
欢迎评论 ?点赞?? 收藏 ?加关注

快过年了,又到了抢红包的时候,好多小伙伴发愁抢不到,哄包多是多哇一个也抢不到着实让人无奈。
没办法只好发挥所长,我可不是吃素的,那就只能试试能不能通过编程的方式实现自动化抢哄包了!就这么一试,我们居然成功啦。

实现自动化抢红包的基本思路如下:

手动清空之前微信群中的红包记录

执行自动化抢红包程序,首先进入发红包的微信群(可以暂时将其顶置),循环检测群中是否有红包,发现红包则点击红包,没有红包红则不点

检测红包是否被领取(判断点击后的红包是否出现开字),如果红包未被领取,则点击开字领取红包,再返回群聊界面删除已被领取的红包记录;如果红包已被领取,则返回群聊界面删除已被领取的红包记录

环境

本文主要环境如下:

Win11系统
安卓手机
Python3.9
Appium1.5
微信3.8.1.26
如果对环境搭建不熟悉的话,可以看一下:Python + Appium 自动化操作微信入门
用Python找出了删除自己微信的所有人并将他们自动化删除了

实现

下面一起来看一下具体实现。

首先我们·先配置信息,代码实现如下:

desired_caps = {    "platformName": "Android", # 系统    "platformVersion": "8.0.0", # 系统版本号    "deviceName": "m5s", # 设备名    "appPackage": "com.tencent.mm", # 包名    "appActivity": ".ui.LauncherUI", # app 启动时主 Activity    'unicodeKeyboard': True, # 使用自带输入法    'noReset': True # 保留 session 信息,可以避免重新登录}

因为点击红包后需要判断点击后的红包是否被领取,即是否有开字,如图所示:
在这里插入图片描述
所以我们定义一个判断元素是否存在的方法,代码实现如下:

# 判断元素是否存在def is_element_exist(driver, by, value):    try:        driver.find_element(by=by, value=value)    except Exception as e:        return False    else:        return True

因为红包无论是被自己领取还是被他人领取,之后我们首先要删除领取的红包记录,所以我们需要定义一个删除已领取红包的方法,代码实现如下:

# 删除领取后的红包记录def del_red_envelope(wait, driver):    # 长按领取过的红包    r8 = wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/r8")))    TouchAction(driver).long_press(r8).perform()    # 点击长按后显示的删除    wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/gam"))).click()    # 点击弹出框的删除选项    wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/doz"))).click()

长按领取后红包的效果图如下:
在这里插入图片描述

点击长按后显示的删除项之后的效果图如下:
在这里插入图片描述

进入红包群后的主程序实现,代码如下:

while True:    # 有红包则点击    wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/r8"))).click()    print("点击了红包")    # 判断红包是否被领取    is_open = is_element_exist(driver, "id", "com.tencent.mm:id/den");    print("红包是否被领取:", is_open)    if is_open == True:        # 红包未被领取,打开红包        wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/den"))).click()        # 返回群聊        wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/dm"))).click()        # 删除领取过的红包记录        del_red_envelope(wait, driver)    else:        # 返回群聊        driver.keyevent(4)        # 删除领取过的红包记录        del_red_envelope(wait, driver)

在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/52413.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 「难忘今宵」小说节选推荐_[汤圆娇娇]后续无弹窗大结局
  • 全文我死遁后,族长悔疯了:结局+番外优质全章(战痕音音)列表_全文我死遁后,族长悔疯了:结局+番外优质全章
  • [完结]顾昕瑶裴司珩唐念慈彩蛋(又名:怎甘心扬汤止沸)全
  • 换嫁成寡妇,我靠经商旺全家+后续+苏妙妙完本_换嫁成寡妇,我靠经商旺全家+后续+(苏妙妙)
  • (番外)+(全书)一念情深一念婚烬:全文+结局+番外***_(傅青青卢振庭温素素)一念情深一念婚烬:全文+结局+番外列表_笔趣阁(傅青青卢振庭温素素)
  • 换嫁战死的小公爷后,夫君回来了(顾青柠陆景煜)_换嫁战死的小公爷后,夫君回来了
  • 觉醒签到系统后冷宫皇子杀疯了李吟霜秦天在线(又名:觉醒签到系统后冷宫皇子杀疯了)赏析_觉醒签到系统后冷宫皇子杀疯了李吟霜秦天在线(又名:觉醒签到系统后冷宫皇子杀疯了)赏析
  • 出国后前妻对我穷追不舍后续(又名:我提出离婚两清后总裁妻子全家慌了)倾心编著(顾迟云云晚晚)
  • 顾君蘅孟昭宁(又名:时光烬余温)潜心更新完本_完本顾君蘅孟昭宁(又名:时光烬余温)潜心更新
  • 穿越星海说爱你:结局+番外,林雪羽梁淮序列表_穿越星海说爱你:结局+番外,林雪羽梁淮序
  • 「重生后,我和老公双双悔婚」后续已完结_「陆知归明星温欣柔」章节分享
  • 轻弹一首别离梁慕白苏洛沈亦琛番外霜珑

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1