大众点评霸王餐自动报名autojs(更新版)

了解点评的都知道橙v会员的其中一项权益就是申请霸王餐,其中需要反复点击逐个申请,步骤有些繁琐,于是乎便想到通过自动化脚本来解决这个问题。

airtest/appium/autojs试了一圈,发现还是autojs比较适合这个需求,简单轻量,确定好工具,接下来就是摸清点击路径,然后通过代码自动化

第一步,启动大众点评app进入免费试频道

auto.waitFor()
const appname = '大众点评';
app.launchApp(appname);
console.log(device.width,device.height);
// 进入免费试频道
id('main_listview').waitFor();
let list = id('main_listview').findOne();
list.children()[1].children()[3].findOne(className('android.widget.ImageButton')).click();

第二步,进入vip专享活动频道,这里要说明下为什么用press而不是click,本人尝试多次,可能是这个按钮做了点击时长校验,因此只有用press。

console.log('进入vip专享活动频道');
while (text('VIP专享活动').findOne().parent().findByText("全部").size() == 0);
let allBtn = text('VIP专享活动').findOne().parent().findByText("全部").get(0).parent();
let allBtnBounds = allBtn.bounds();
press(allBtnBounds.left, allBtnBounds.top, 100);

第三步,点击免费抽按钮

console.log('开始搜索可点击的免费抽按钮');
let btn = text("免费抽").findOne(3000);
if(btn){
   let bounds = btn.bounds();
   press(bounds.left, bounds.top, 1);
   let isOk = text('免费试活动详情').findOne(3000);
   if(isOk){
            console.log('点击免费抽按钮成功');
            let bmBtn = text("我要报名").findOne(4000);
            if(bmBtn){
                bmBtn.click();
            }else{
                let wybmBtn = text("已报名,看看其他活动").findOne();
                if(wybmBtn){
                    console.log('已报名,返回免费试首页');
                    wybmBtn.click();
                }
            }
    }else{
            console.log('点击免费抽按钮失败');
    }
}else{
        console.log('没有找到免费抽按钮');
}

第四步,报名填资料并提交

text('确认报名').waitFor();
    // 判断是否有分店
    if(text("请选择分店").exists()){
        click("请选择分店",0);
        className('android.widget.ListView').waitFor();
        className('android.widget.ListView').findOne().child(1).click();
    }
    // 判断是否有套餐
    if(text("请选择套餐").exists()){
        click("请选择套餐",0);
        className('android.widget.ListView').waitFor();
        className('android.widget.ListView').findOne().child(1).click();
    }
    while(!click("确认报名",0));
    text('报名成功').waitFor();
    while(!click("回到首页",0));

当中还会有一个滚动的过程,需要用gesture方法模拟自然轨迹,用scroll是无效的,需要完整代码可点赞后留言获取

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

压码路

如果帮到你,可以意思一下吗?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值