Auto.js 大象就医辅助挂号思路

纯技术分享,没有完整源码。

起因

现在云南这边医疗资源还是比较紧张。比较好的医院就那么一两个,每次想挂个号什么的,往往得通过vip手段。要么就得早上6点医院门口站队。

经过多次摧残。。以我的手速是抢不到了。

辅助技术选择

以前用玩苹果机的时候用触动精灵写过辅助。内置的脚本语言是lua,然而并不是太熟。。

现在手持小米5一部,看看android的。以前一直关注着一个开源项目 Auto.js 这次就索性用js来写写辅助。

Auto 简介

一个主要由无障碍服务实现的不需要Root权限的类似按键精灵的自动操作软件,可以实现自动点击、滑动、输入文字、打开应用等。

代码思路

唤起app

app.launch("com.neusoft.niox");

跳过广告

var jumpad = threads.start(function () {

while (!click("跳过"));

});

选择科室

这里科室列表在不可挂号的时候显示会空,这里我的做法是单独起个线程。通过来回点击刷新页面

主要代码:

setInterval(function () {

var tv_find_hosps_top= id("tv_find_hosps_top").findOne(1000)

if (tv_find_hosps_top!=null){

//TODO:查找页面内需要挂号的医院。点击

sleep(1000);

var tv_dept = id("tv_dept").findOne(1000);

if (tv_dept != null) {

var list_dep = className("android.view.ViewGroup").find();

if (list_dep.empty()) {

//TODO:科室列表为空,点击返回,

id("layout_previous").findOne().click();

} else {

//TODO:科室列表不为空,停止线程。

yyfcthread.interrupt();

}

}

}

}, 1000);

选择挂号的日期

这里根据医院的不同规则,我这边想挂的医院为提前一周挂号,点击进来这个页面并没显示完全我需要的信息,这里就直接通过两次点击选择上我们需要的医生就行。

选择预约的时间

都说是抢号了。只能是有了就下手,这里的逻辑就是不停的刷新当前的页面获取能预约的时间。点击进入下单页面。

setInterval(function () {

let appointment = id("iv_only_appointment").findOne(800);

if (appointment != null) {

appointment.click();

var listtime = id("tv_doctor_time_point").find();

if(!listtime.empty()){//1.预约时间不为空

var firstbtn = listtime.get(0);

var time_txt = firstbtn.text();

if (time_txt.indexOf('满') < 0) {//2.点击的不能是已经预约过的时间

console.log("firstbtn click" + firstbtn.parent().click());

makeAppointment();

}

}

}

}, 800);//循环点击

预约单

这个页面就是需要点击下我已阅读的按钮,再点击下确认就ok。

autojs 获取时间_Auto.js 大象就医辅助挂号思路相关推荐

  1. html页面获取时间格式,js实现动态获取系统时间,显示到页面上

    获取系统时间 //获取系统时间. var dateTime=new Date(); var hh=dateTime.getHours(); var mm=dateTime.getMinutes(); ...

  2. autojs读取文字_Auto.js小白详细代码分析教程-如何阅读本文档 - Documentation

    本文档为Auto.js的文档,解释了Auto.js各个模块的API的使用方法.作用和例子. 文档借助Node.js的文档构建工具生成,并在github上开源(https://github.com/hy ...

  3. js php 获取时间倒计时_,js实现倒计时及时间对象

    JS实现倒计时效果代码如下: 无标题文档h #box { width: 100%; height: 400px; background: black; color: #fff; font-size:4 ...

  4. js中获取时间new date()的用法

    获取时间: var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFul ...

  5. js中获取时间new date()的用法和获取时间戳

    获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位)2 myDate.getFu ...

  6. js php 获取时间倒计时_,JS实现获取时间和设置倒计时代码分享

    本文主要和大家分享JS实现获取时间和设置倒计时代码,希望能帮助到大家. 只做笔记记录一下,主要用到Date 和 setInterval 第一个倒计时的设置: var timeBox = documen ...

  7. js Date类型相关(二)——获取时间、格式化时间以及当前月第一天、最后一天

    需求 有时候项目中会遇到这些问题,比如:我想获取当前时间中的时分秒,又或者说是想单独获取年份,月份,日等.这就需要对Date类型的方法做点了解了. 还有一种场景是我想将当前时间转换成"yyy ...

  8. js 获取时间对象代码

    /** * 获取时间对象 */ function getDateObj(addDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+addD ...

  9. js根据年度周次获取时间,以及根据时间获取周次

    根据年度,周次,已经你要获取周几.来获取时间 //更具年的周次获取时间范围 function dateFromWeek(year, week, day){// year 年// week 周// da ...

最新文章

  1. redis源码分析(beta版本)-redis实现的概述逻辑
  2. C++用substr()函数消除前后空格
  3. matlab 自定义对象,面向对象:MATLAB的自定义类 [MATLAB]
  4. 自由意志是否受机器控制?
  5. IE与Firefox的CSS兼容
  6. 设计模式 结构型模式 外观模式(Facade Pattern)
  7. hspice2014安装教程
  8. ajax参数中字符串最大长度_6.7 C++数组名作函数参数 | 求3*4矩阵中最大的值
  9. 【渝粤教育】国家开放大学2018年春季 0043-22T计算机文化 参考试题
  10. [置顶] J2EE (八) 策略模式+装饰模式+反射(java)
  11. js如何处理后台传递过来的Map
  12. ue4蓝图运行顺序_学习UE4,先学蓝图还是c++_资源库
  13. 微信机器人,微信聊天机器人搭建教程附源代码
  14. Winform基于UnityWebplayer封装用户控件以实现.unity3d文件相对路径(动态src)
  15. java多用户商城系统——支持springcloud
  16. 三相逆变器双pi控制器参数如何调节_单相光伏并网逆变器的环路控制
  17. alios是安卓吗_鸿蒙OS系统被质疑,谷歌也有新布局!阿里云OS事件会再现吗?
  18. Notion Like 笔记软件使用教程·学习资源汇总·知识管理方案
  19. 电话机器人成骚扰机器?程序员可不背锅
  20. 记录seata初踩坑

热门文章

  1. 门禁管理系统设计c语言,基于RFID技术的智能门禁系统设计(控制部分)
  2. Python爬取数据并写入MySQL
  3. 什么录音软件可以录制电脑内部播放的声音
  4. iOS- 支付宝支付
  5. 二十一世纪大学英语读写教程(第四册)学习笔记(原文)——9 - The West‘s Debt to China(西方国家得益于中国之处)
  6. 基于java校园二手物品交易系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  7. python求质数和_python 求质数
  8. mysql 查看表v空间自增涨_专业解决 MySQL 查询速度慢与性能差!
  9. 伍翀:大数据实时计算Flink SQL解密
  10. mahout基于hadoop的CF代码分析