百度极速版APP 自动脚本 javascript代码

使用JavaScript编写针对百度极速版APP的自动化脚本通常涉及到使用WebView测试框架,比如Puppeteer或Selenium,这些工具允许你控制一个浏览器或WebView环境,从而与网页或APP中的Web内容进行交互。然而,对于原生APP(如百度极速版)的自动化测试,通常需要使用专门的移动应用自动化框架,如Appium。

Appium支持多种编程语言,包括JavaScript。要使用JavaScript和Appium进行自动化测试,你通常需要使用Appium的WD库。但请注意,直接操作原生APP的界面元素(如按钮、文本框等)通常需要使用元素的ID、类名或其他标识符,这些标识符可能随着APP的更新而发生变化。

以下是一个简化的示例,展示了如何使用JavaScript和Appium的WD库来启动一个Android设备上的百度极速版APP,并尝试与其中的某个元素进行交互。请注意,这个示例假设你已经正确设置了Appium服务器,并且已经知道了要与之交互的元素的ID。

首先,你需要安装必要的npm包:

 

bash复制代码

npm install wd appium

然后,你可以编写如下的JavaScript脚本:

 

javascript复制代码

while (true) {

        v_百度有效分钟 = parseInt(v_百度有效秒数 / 60);

        toast("已经观看视频: " + v_百度有效分钟 + "分钟");
        logd("v_无动作计次: ", v_无动作计次);

        if (v_无动作计次 >= 30) {
            v_无动作计次 = 0;
            for (let i = 0; i < 5; i++) {
                back();
                sleep(300);
            }
            utils.openApp("com.baidu.searchbox.lite");
        }


        let node_评论图标 = id("com.baidu.searchbox.lite:id/fi7").getOneNodeInfo(100);
        if (node_评论图标) {

            //有可能在短剧中
            let node = id("com.baidu.searchbox.lite:id/dmu").getOneNodeInfo(1000)


            //在视频中
            if (v_百度有效分钟 < v_百度检测分钟数) {
                var result = swipeToPoint(548 + random(-10, 10), 1911 + random(-10, 10), 558 + random(-10, 10), 461 + random(-10, 10), random(450, 2111));
                if (result) {
                    v_再看一个领取 = 0
                    toast("滑动成功");


                    var randoms = random(10, 30);
                    logd(randoms)
                    toast("总数: " + randoms);

                    v_百度有效秒数 = v_百度有效秒数 + randoms;

                    for (let i = randoms; i >= 0; i--) {
                        toast("观看倒计时: " + i);
                        sleep(1000);
                    }
                } else {
                    toast("滑动失败");
                }
            }


            let node_直播中 = text("直播中").getOneNodeInfo(100);
            if (node_直播中) {
                var result = swipeToPoint(548 + random(-10, 10), 1911 + random(-10, 10), 558 + random(-10, 10), 461 + random(-10, 10), random(450, 2111));
                logd("直播中滑动");
            }


            let node_秒后播放下一个视频 = textMatch(".*秒后播放下一个视频").getOneNodeInfo(100);
            if (node_秒后播放下一个视频) {
                swipeToPoint(548 + random(-10, 10), 1911 + random(-10, 10), 558 + random(-10, 10), 461 + random(-10, 10), random(450, 2111));
            }

        } else {
            //没在视频中
            logd("没在视频中");
            if (v_百度有效分钟 < v_百度检测分钟数) {
                let node_评论图标 = id("com.baidu.searchbox.lite:id/fi7").getOneNodeInfo(100);

                if (node_评论图标 == null) {
                    logd("没在 评论图标");
                    try {
                        let node_视频 = text("视频").id("com.baidu.searchbox.lite:id/bf2").getOneNodeInfo(100).previousSiblings()[0];
                        if (node_视频) {
                            logd("点击 视频");
                            logd(node_视频.bounds.left + 5, node_视频.bounds.top + 5);
                            clickPoint(node_视频.bounds.left + 5, node_视频.bounds.top + 5)
                            v_无动作计次 = 0;
                        } else {
                            v_无动作计次 = v_无动作计次 + 1;
                        }
                    } catch (e) {
                        logd("没找到 视频按钮");
                        let node_视频 = text("视频").getOneNodeInfo(100);
                        if (node_视频) {
                            logd("找到 视频");
                            node_视频.click();
                        } else {
                            logd("没找到 视频");
                        }
                    }
                }
            }

            let node_立即提现 = text("立即提现").getOneNodeInfo(100);
            if (node_立即提现) {
                node_立即提现.click();
                logd("立即提现")
            } else {
                logd("NO  立即提现")
            }

            let node_继续阅读赚更多 = text("继续阅读赚更多").getOneNodeInfo(100)
            if (node_继续阅读赚更多) {
                node_继续阅读赚更多.click();
                logd("继续阅读赚更多")
            } else {
                logd("NO   继续阅读赚更多")
            }

            let node_额外领金币 = textMatch("额外领.*金币").getOneNodeInfo(100);
            if (node_额外领金币) {
                node_额外领金币.click();
                v_无动作计次 = 0;
            }


            let node_s后可领取奖励 = textMatch(".*s后可领取奖励").getOneNodeInfo(100);
            if (node_s后可领取奖励) {
                v_无动作计次 = 0;
            }

            let node_看广告立即领特权 = text("看广告立即领特权").getOneNodeInfo(100);
            if (node_看广告立即领特权) {
                node_看广告立即领特权.click();
            } else {
                v_无动作计次 = v_无动作计次 + 1;
            }


            try {
                let node_任务完成_关闭 = text("任务完成").getOneNodeInfo(100).parent().siblings()[0];
                if (node_任务完成_关闭) {
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值