春节来到,红包们大概率在微信各大群中肆虐,大家是否都一样不抢到红包们心里就感觉错过了一个亿,可总会被这事那事耽误而遗憾错过,下面用 Python 写一个自动抢红包脚本~

启动入口

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.support import expected_conditions as ECdesired_capabilities = {'platformName': 'Android', # 操作系统'deviceName': '2a254a02', # 设备 ID'platformVersion': '10.0.10', # 设备版本号,在手机设置中查看'appPackage': 'com.tencent.mm', # app 包名'appActivity': 'com.tencent.mm.ui.LauncherUI', # app 启动时主 Activity'noReset': True # 是否保留 session 信息 避免重新登录
}driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_capabilities)
# 设置等待超时时间
wait = WebDriverWait(driver, 60)

点击进入聊天窗口

微信在一般情况下最新的聊天记录将被放在第一个,所以只需要打开第一个聊天窗口检查有没有红包就可以了,用 id 为 com.tencent.mm:id/e3x 可以找到所有的聊天信息,我们取第一个聊天群的索引

# 进入第一个聊天框
red_packet_group = driver.find_elements_by_id('com.tencent.mm:id/e3x')[0]
red_packet_group.click()

找到红包

进入聊天群后,红包图片检查是否存在红包,它的 id 为 com.tencent.mm:id/r2

 # 检查红包
reds = driver.find_elements_by_id('com.tencent.mm:id/r2')
if len(reds) == 0:driver.keyevent(4)

点击红包后会出现以下 3 种情况

  1. 红包已经被自己领取了

  2. 红包手慢了没抢到

  3. 红包未领取

前两种情况红包已经失效了,最后一种才是可以打开的红包

红包已经失效了

在上面代码中都是用 id 检查元素是否存在,这里使用查找文字已存入零钱手慢了判断红包是否已经失效

# 判断元素是否存在
def is_element_exist_by_xpath(driver, text):try:driver.find_element_by_xpath(text)except Exception as e:return Falseelse:return True# 领取了
is_open = is_element_exist_by_xpath(driver, '//android.widget.TextView[contains(@text, "已存入零钱")]')
# 没抢到
is_grabbed = is_element_exist_by_xpath(driver, '//android.widget.TextView[contains(@text, "手慢了")]')if is_open or is_grabbed:driver.keyevent(4)

打开红包

打开红包比较简单,只需要找到  字的 id

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()

删除红包

最后我们将红包删除,防止红包被重复打开。当长按红包时,微信红包会出现删除按钮

TouchAction(driver).long_press(red).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()

在这里还是要推荐下我自己建的Python学习群:692867294,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

抢红包老司机给你传授秘技,python软件秒抢微信红包相关推荐

  1. 如何优雅的抢红包 老司机给你传授秘技

    春节来到,红包们大概率在微信各大群中肆虐,大家是否都一样不抢到红包们心里就感觉错过了一个亿,可总会被这事那事耽误而遗憾错过,下面用 Python 写一个自动抢红包代码 有兴趣的同学可以关注小编,申请Q ...

  2. 用 Python 来全自动抢微信红包

    最近在做手机app自动化测试,想用python写个自动抢微信红包的程序,先在网上查了一下,发现抢红包教程要么是用itchat模块做到红包提醒功能,要么root手机后用Xposed框架,这两种方式都不是 ...

  3. python实现自动化抢微信红包功能_【Python】用Python实现微信自动化抢红包,再也不用担心抢不到红包了...

    1. 概述 刚刚收到了两个消息,一个好消息,一个坏消息. 先说好消息,好消息就是微信群里有人要发红包,开心~ 不过转念一想,前几次的红包一个都没抢到,这次???不由自主的叹了一口气 - 过了一会,内心 ...

  4. python自动抢_Python+Appium实现自动抢微信红包

    前言 过年的时候总是少不了红包,不知从何时开始微信红包横空出世,对于网速和手速慢的人只能在一旁观望,做为python的学习者就是要运用编程解决生活和工作上的事情. 于是我用python解决我们的手速问 ...

  5. 老司机带你快速实现Python下载与安装

    目录 一.新手下载与安装Python的步骤: 二.老司机下载与安装Python的步骤: 先来看一下新手是怎么下载安装的: 一.新手下载与安装Python的步骤: 1.打开Python官网:https: ...

  6. 我用Python自动抢微信红包!

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  7. 薅羊毛 | Python 带你抢视频红包,不放过一个红包!

    阅读文本大概需要 15 分钟. 1 目 标 场 景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. 与传统的红包不一样,视频红包包含位置的不确定性.大 ...

  8. 老司机带你学爬虫——Python爬虫技术分享

    什么是"爬虫"? 简单来说,写一个从web上获取需要数据并按规定格式存储的程序就叫爬虫: 爬虫理论上步骤很简单,第一步获取html源码,第二步分析html并拿到数据.但实际操作,老 ...

  9. win7关闭开机启动项_老司机给你传授 win7系统设置开机不启动360安全卫士只启动软件小助手的图文教程 -win7系统使用教程...

    win7旗舰版是用户量最大的一款操作系统:有不少人在使用中都遇见了win7系统设置开机不启动360安全卫士只启动软件小助手的问题,太多的用户是不想看到win7系统设置开机不启动360安全卫士只启动软件 ...

  10. python自动抢微信红包源码_用Python实现微信自动化抢红包,再也不用担心抢不到红包了...

    1. 概述 刚刚收到了两个消息,一个好消息,一个坏消息. 先说好消息,好消息就是微信群里有人要发红包,开心~ 不过转念一想,前几次的红包一个都没抢到,这次???不由自主的叹了一口气 ... 过了一会, ...

最新文章

  1. Java基础知识(二)之控制语句
  2. 前端学习(2197):__WEBPACK_IMPORTED_MODULE_1_vuex__.a.store is not a constructor
  3. linux怎么抓sip包,Ubuntu下使用Wireshark进行抓包分析(含SIP和RTP包)
  4. javascript 懒加载技术(lazyload)简单实现
  5. python爬取音乐_Python现学现用xpath爬取豆瓣音乐
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的政务信息管理系统
  7. contentsiz contentoffset contentInset的区别
  8. 运筹学教学|十分钟快速掌握割平面法及对偶单纯形法(附Java代码及算例)
  9. python numpy库下载_python3.6下Numpy库下载与安装图文教程
  10. 计算机导论第二版清华大学答案,计算机导论(第2版)课后习题答案【清华大学出版社】(13页)-原创力文档...
  11. 华为什么型号支持鸿蒙,哪些华为手机支持鸿蒙系统?华为支持鸿蒙OS手机型号清单...
  12. 2021年创业项目:知识付费副业做网课赚钱
  13. excel电子表格插件_电子表格的美好时光
  14. 跟着柴毛毛学Spring(1)——纵观Spring
  15. Docker容器之Docker Swarm集群详解(上)
  16. 程序员35岁压哨转行事业单位3年有感
  17. 地理信息系统明年将服务全运会
  18. python写入excel公式有哪些库_python工具库介绍-xlwt 创建xls文件(excel)
  19. 杭州复杂美科技有限公司专利“平均实力指数”全球排名
  20. 思科下载好了如何注册

热门文章

  1. 大学课程 | 《微机原理与接口技术》知识点总结
  2. google 翻译 tts 语音 tk tkk代码
  3. 基于网络的服装定制MTM系统研究 - 硕士论文 - 道客巴巴
  4. Wunderlist1.22(Window版)无法启动的解决方法
  5. 电子词典系统vc++_《VC++ 编程词典(珍藏版)》
  6. 图像识别——(java)opencv(答题卡识别过程优化)
  7. Ubuntu系统镜像下载网站
  8. VARCHART XGantt教程之功能介绍
  9. python实现简单的三边测量定位
  10. macbook历代_历代MAC机型配置汇总