大众点评霸王餐自动报名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是无效的,需要完整代码可点赞后留言获取

  • 29
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论
PHP霸王餐程序源码是一种用PHP编写的用于开展促销活动、吸引用户参与的网站程序。下面是一个简单的示例源码: ```php <?php // 定义霸王餐活动的信息 $activityName = "霸王餐活动"; $startTime = "2022-01-01"; $endTime = "2022-01-31"; // 判断当前时间是否在活动期间 $currentDate = date("Y-m-d"); if ($currentDate < $startTime || $currentDate > $endTime) { echo "活动还未开始或已经结束"; exit; } // 判断用户是否已参与活动 $userParticipated = false; // 实际应用中,可以根据用户的登录状态、IP地址等来判断用户是否已参与活动 if ($userParticipated) { echo "您已经参与过活动"; exit; } // 输出活动页面 echo "<h1>{$activityName}</h1>"; echo "<p>活动时间:{$startTime} 至 {$endTime}</p>"; echo "<p>请填写以下信息参与活动:</p>"; echo "<form action='submit.php' method='post'>"; echo "<label for='name'>姓名:</label>"; echo "<input type='text' id='name' name='name'>"; echo "<br>"; echo "<label for='phone'>电话:</label>"; echo "<input type='text' id='phone' name='phone'>"; echo "<br>"; echo "<button type='submit'>提交</button>"; echo "</form>"; ?> ``` 上述示例代码首先定义了一个霸王餐活动的信息,包括活动名称、开始时间和结束时间。然后判断当前时间是否在活动期间,如果不是,则提示活动还未开始或已经结束,并结束程序的执行。 接下来根据用户是否已参与活动的状态,判断用户是否已参与活动,如果已参与,则输出相应的提示,并结束程序的执行。 最后,在活动期间且用户未参与活动的情况下,输出活动页面,并要求用户填写姓名和电话的信息,可向`submit.php`提交用户的表单数据。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

压码路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值