Auto.js实现i茅台自动化申购

2023-11-05

i茅台自动化申购


前言

现在茅台行情十分火热,茅台集团推出了i茅台APP供大家申购。下面介绍使用Auto.js实现自动化申购。


一、前提条件

需要下载Auto.js的apk,下载链接为:https://github.com/TonyJiangWJ/Auto.js/releases/download/v4.1.1/AutoJS.Modify.latest.apk
安装之后按照提示打开无障碍服务
脚本使用方法:将文件放置在手机SD卡脚本文件夹下,进入Auto.js软件刷新即可看见本JS文件,点击三角运行符号等待启动运行即可。

二、代码示例

代码如下(示例):

//等待开启无障碍服务并运行脚本
auto.waitFor();
purchase_buy();
function purchase_buy(){
log("申购任务开始")
//打开日志控制台
console.show();
//打开App
launchApp('i茅台');
//跳过开屏
click_text_element("跳过",true);
//进入主页
wait_come_home_page();
//滑动至预约申购入口
let index = 0;
 while(index<2){
//滑动一次
swipe(450, 1500, 450, 450, 500)
 index+=1;
}
//进入【申购】
var view2 = className("android.widget.ImageView").depth(12).drawingOrder(4).indexInParent(3);
if (view2.exists()) {
log("找到并点击享约申购");
view2.click();
sleep(1500);
}else
log("未找到享约申购");
let index = 0;
while(index<5){
//滑动一次
swipe(450, 1500, 450, 450, 500)
index+=1;
}
var good_enterences = id("bt_goods").find()
log("本次入口有:",good_enterences.length)
//商品标题
for(let good_enterence of good_enterences){
log("文本:",good_enterence.text())
if(good_enterence.text()==='预约申购'){
good_enterence.click()
}else{
log("该条已经申购,过滤掉。。。")
}
}
real_buy();
}
//阻塞等待
function wait_come_home_page(){
    //等待加载到主页
    textContains('首页').waitFor();
    textContains('云购').waitFor();
    log("完全进入到主页")
}
/**
 * 在控制台统一输出内容
*/
function log(msg) {
    console.log(msg)
}

//根据文本内容查找元素,并执行点击操作
function click_text_element(content,is_wait){
    //是否需要等待
    if(is_wait){
      textContains(content).waitFor();
      log("等待"+content+"加载完成")
    }
    //查找元素
    var buy_element = text(content).findOne()
    if(buy_element){
        log("点击"+content)
        click(buy_element.bounds().centerX(), buy_element.bounds().centerY());
    }else{
        log("找不到"+content)
    }
}

//真实预约
function real_buy(){
   log("开始申购")
   //等待【选择门店】页面加载完全
   id("btReserve").waitFor()
   //由于抢到即使赚到,这里直接取默认地址的第一个
   id("btReserve").click()
   //确定申购
   text("确定申购").findOne().click()
   //点击【查看详情】,返回申购列表
   text("查看详情").findOne().click()
   //返回
   back_main_page()
}

总结

以上就是今天要讲的内容,本文仅仅简单介绍了i茅台自动化申购的使用及代码示例,希望能帮助到大家,实现大家的茅台梦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Auto.js实现i茅台自动化申购 的相关文章

随机推荐

  • ListView刷新的实现(加上自己的分析)

    本文转载地址为http blog csdn net guolin blog article details 9255575 这里我们将采取的方案是使用组合View的方式 先自定义一个布局继承自LinearLayout 然后在这个布局中加入下
  • 有哪些道理是你毕业多年后才明白的?

    12 1更新 1 感情的中不存在离开谁 ta就活不下去的说法 被甩了不要一直沉溺于悲痛中 伤身 你最初喜欢一个人开始可能因为他的颜值 身高等外在条件 后面被他的才华等等所吸引 最后被他的一些品质 诸如诚实 友善等等品质所折服 如果某一天 他
  • maximum call stack size exceeded ajax,javascript - AJAX Maximum call stack size exceeded - Stack Ove...

    I have a javascript function that reads an xml From that function it calls a second function to prompt the user to updat
  • python连接hiveserver2_hiveserver2 python client

    一个hiveserver2 python客户端的例子 大部分代码来自于hue 忽略了一些必要的判断 只是做一个简单的例子 需要安装thrift以及把hive 0 10 0 cdh4 3 0 src service src gen thrif
  • python中通过super()调用父类构造方法

    可能是java写多了 当我准备通过super self xxx 这样调用父类的构造方法时候 一直报错 上网查资料 发现python的super 的机制和java还是有很大区别的 首先看一下super 函数的定义 super type obj
  • 对“端到端”原则的理解

    对 端到端 原则的理解 前些天读了两篇论文 一篇是J H Saltzer D P Read和D D Clark在80年代初发表的 The End TO End Arguments in System Design 另一篇是David D C
  • java为什么有些异常throw出去需要在函数头用throws声明,一些就不用。

    https www cnblogs com paul011 p 7850552 html
  • python可以嵌在vba中吗_在python-cod中嵌入VB宏

    要使用WinI的新模块32COM 我在网上找到了以下生成excel的代码 import win32com client as win32 class generate excel def excel self excel win32 gen
  • nginx 的进程建通信机制-共享内存/channel/信号

    nginx是跨平台的库 但以下分享均为基于linux的 nginx 进程间通信的方法 1 共享内存 linux 提供了进程间通信的的共享内存的方式 通过mmap和shmget来获取一块连续的内存 然后通过munmapheshmdt来释放这块
  • vue导出pdf

    vue项目中导出pdf 纯前端操作 有很多时候我们需要在项目中导出pdf文件 其实是利用插件将vue组件渲染成图片 然后将图片添加到PDF文档进行导出 本文用到的插件是html2canvas和jsPDF 文章目录 vue项目中导出pdf 纯
  • 力扣226. 翻转二叉树(递归)

    力扣226 翻转二叉树 递归 翻转一棵二叉树 示例 输入 4 2 7 1 3 6 9 输出 4 7 2 9 6 3 1 递归 1 定义函数功能 函数功能 即这个递归原问题是 给出一颗树 然后翻转它 所以 函数可以定义为 ListNode r
  • Python字典中的值为列表或字典的构造方法

    1 值为列表的构造方法 dic dic setdefault key append value 示例如下 gt gt dic setdefault a append 1 gt gt dic setdefault a append 2 gt
  • 关于点击UIButton弹出键盘,并且键盘的上方还需添加UITextField或者UITextView的解决方法

    最近在做一个项目的时候 有这样一个需求 点击UIButton弹出键盘 键盘的上方还需添加一个输入框 UITextField UITextView 开始的想法是直接设置输入框的 inputAccessoryView 设置后发现键盘根本就没显示
  • 视频中的物理要素——提取人们产生共情的元素

    近几年油管 各种小视频的兴起 似乎在为我们打开一扇门 研究角度来看 人们为什么对小视频如此痴迷 短暂的欲望得到满足 为什么通过视觉刺激 听觉刺激可以在观看吃播的时候 观看者也可以得到同样的对食物满足的情绪刺激 很重要的原因是 我们很需要很需
  • 格式化字符串学习

    常见的格式化字符串函数 输出 函数 基本介绍 printf 输出到 stdout fprintf 输出到指定 FILE 流 vprintf 根据参数列表格式化输出到 stdout vfprintf 根据参数列表格式化输出到指定 FILE 流
  • c++ auto类型用法总结

    一 用途 auto是c 程序设计语言的关键字 用于两种情况 1 声明变量时根据初始化表达式自动推断该变量的类型 2 声明函数时函数返回值的占位符 二 简要理解 auto可以在声明变量时根据变量初始值的类型自动为此变量选择匹配的类型 举例 对
  • 安装Zookeeper和Kafka集群

    安装Zookeeper和Kafka集群 本文介绍如何安装Zookeeper和Kafka集群 为了方便 介绍的是在一台服务器上的安装 实际应该安装在多台服务器上 但步骤是一样的 安装Zookeeper集群 下载安装包 从官网上下载安装包 cu
  • LDAP 入门知识

    LDAP的基本概念 LDAP是轻量目录访问协议 Lightweight Directory Access Protocol 的缩写 是一种基于 客户机 服务器模式的目录服务访问协议 其实是一话号码簿 LDAP是一种特殊的数据库 LDAP 目
  • jpa方法名命名规则

    一 常用规则速查 1 And 并且2 Or 或3 Is Equals 等于4 Between 两者之间5 LessThan 小于6 LessThanEqual 小于等于7 GreaterThan 大于8 GreaterThanEqual 大
  • Auto.js实现i茅台自动化申购

    i茅台自动化申购 文章目录 i茅台自动化申购 前言 一 前提条件 二 代码示例 总结 前言 现在茅台行情十分火热 茅台集团推出了i茅台APP供大家申购 下面介绍使用Auto js实现自动化申购 一 前提条件 需要下载Auto js的apk