元宵节百度又发红包啦!十几行代码让 Python 帮你自动抢红包

除夕百度发了 9 亿红包,我只分到了 50 块钱,不知道你的运气怎么样?这次元宵节百度再发 2 亿,正在上班的你是否还有时间抢红包呢?
百度的抢红包真的没有什么难度,只要你不停地点点点(或者摇摇摇),至于开出来的红包有多大,完全是靠运气,这纯粹的点点点,实在是浪费时间,更何况今天还是上班的时间呢?早在除夕那日,我就已调试好了 Python 的自动化脚本,帮我在除夕那天自动打开了上万个红包(当然很多都只是祝福语),今天这元宵节的抢红包活动,还是可以继续使用原来的代码,废话就不多说了,上代码。

from appium import webdriver
import time,os,random

for k in range(10000):
    #循环10000次,保证反复操作,避免由于应用操作过程出现异常后仍能重新开始
    desired_caps = {}
    desired_caps["platformName"] = "Android"
    desired_caps["platformVersion"] = "9"  #我的是Android 9的系统
    desired_caps["deviceName"] = "Android Emulator"
    desired_caps["appPackage"] = "com.baidu.searchbox"
    desired_caps["appActivity"] = "com.baidu.searchbox.MainActivity"
    desired_caps["noReset"] = "True"
    #连接手机,打开“百度”应用(第一次打开百度登录的话,当然是手动执行的,这里默认已经登录过了)
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)
    #等待5秒
    time.sleep(5)
    #坐标点击的adb命令,300,370是摇一摇红包入口的大致坐标位置
    cmd1 = "adb shell input tap 300 370"
    #通过os.popen()执行adb命令,也就是模拟点击
    os.popen(cmd1)
    #等待8秒进入摇一摇开红包界面
    time.sleep(8)
    #定义几个点击的坐标点,都是“开”这个字范围内的点,避免百度检测到自动化执行后不给现金红包
    cmd = ["adb shell input tap 360 1140","adb shell input tap 366 1135","adb shell input tap 354 1146","adb shell input tap 360 1140","adb shell input tap 362 1150"]
    #设置点击执行50次,每秒钟中执行一次点击开红包(之前检测到在自动点击一定次数后,百度会自动退出,通过嵌套循环,可以规避这个问题)
    for i in range(50):
        os.popen(cmd[random.randint(0,4)])
        time.sleep(1)
        print(k+1, i+1," times")  #打印是第几次循环的第几次点击

运行 Appium,连接手机,执行代码,坐等红包入手!

1 回帖
请输入回帖内容 ...
  • huahua

    😎 现在我需要一个红包 来试试,是否可以抢到了