 | |  |  |
快手极速版自动刷视频无障碍模式
- // AIWROK 快手极速版自动刷视频 - 无障碍模式
- print.log("===== 快手极速版自动刷视频(无障碍模式)=====");
- print.time();
- auto.setDetailedModel();
- function 检查文字存在(关键词列表) {
- var 规则 = 关键词列表.join("||");
- return auto.findText(规则);
- }
- function 查找文字节点(关键词列表) {
- try {
- var 节点集合 = auto.nodeSearch(2000);
- if (节点集合 == '' || 节点集合 == null) {
- return null;
- }
-
- for (var i = 0; i < 关键词列表.length; i++) {
- var 关键词 = 关键词列表[i];
-
- var 文本过滤 = 节点集合.text(关键词);
- if (文本过滤 != '' && 文本过滤 != null && 文本过滤.count() > 0) {
- var 节点 = 文本过滤.getNode(0);
- if (节点 != '' && 节点 != null) {
- return 节点;
- }
- }
-
- var 包含过滤 = 节点集合.textIncludes(关键词);
- if (包含过滤 != '' && 包含过滤 != null && 包含过滤.count() > 0) {
- var 节点 = 包含过滤.getNode(0);
- if (节点 != '' && 节点 != null) {
- return 节点;
- }
- }
- }
- } catch (e) {
- print.log(" ⚠ 查找文字节点出错:" + e.message);
- }
- return null;
- }
- function 关闭弹窗() {
- var 弹窗关键词 = [
- "我知道了", "知道了", "关闭", "暂不开启", "以后再说",
- "取消", "暂不更新", "下次再说", "拒绝", "不允许", "跳过"
- ];
- var 检测结果 = auto.findText(弹窗关键词.join("||"));
- if (!检测结果) {
- return false;
- }
- for (var i = 0; i < 弹窗关键词.length; i++) {
- var 关键词 = 弹窗关键词[i];
- var 节点 = 查找文字节点([关键词]);
- if (节点) {
- try {
- 节点.click();
- print.log(" ✓ 关闭弹窗:点击【" + 关键词 + "】");
- sleep.second(秒 = 1);
- return true;
- } catch (e) {
- print.log(" ⚠ 点击弹窗按钮失败:" + e.message);
- }
- }
- }
- return false;
- }
- function 关闭招财鸭弹窗() {
- try {
- if (auto.findText("主人,我等你很久了")) {
- auto.clickPercent(0.94, 0.18);
- print.log(" ✓ 关闭招财鸭弹窗");
- sleep.second(秒 = 1);
- return true;
- }
- } catch (e) {
- print.log(" ⚠ 关闭招财鸭弹窗失败:" + e.message);
- }
- return false;
- }
- function 返回视频页面() {
- try {
- if (检查文字存在(["金币", "现金", "任务"])) {
- var 返回节点 = 查找文字节点(["返回", "首页", "<"]);
- if (返回节点) {
- 返回节点.click();
- print.log("✓ 点击返回按钮");
- } else {
- auto.back();
- print.log("✓ 使用返回键返回");
- }
- sleep.second(秒 = 2);
- return true;
- }
- } catch (e) {
- print.log(" ⚠ 返回视频页面失败:" + e.message);
- }
- return false;
- }
- var APP包名 = "com.kuaishou.nebula";
- var 每个视频观看时长秒 = 8;
- var 每N个视频领取金币 = 5;
- var 每轮最大视频数 = 50;
- var 屏幕宽 = screen.getScreenWidth();
- var 屏幕高 = screen.getScreenHeight();
- print.log("屏幕尺寸:" + 屏幕宽 + " x " + 屏幕高);
- for (var 当前循环 = 1; ; 当前循环++) {
- print.log("\n===== 第 " + 当前循环 + " 次循环 =====");
- print.log("\n启动快手极速版...");
- var 启动成功 = false;
- for (var i = 0; i < 3; i++) {
- try {
- app.openApp(APP包名);
- sleep.second(秒 = 6);
-
- 关闭弹窗();
-
- if (检查文字存在(["快手", "关注", "推荐"])) {
- 启动成功 = true;
- print.log("✓ APP启动成功");
- break;
- }
- } catch (e) {
- print.log("⚠ 启动失败:" + e.message);
- sleep.second(秒 = 3);
- }
- }
-
- if (!启动成功) {
- print.log("✗ 多次启动失败,等待5秒后重试");
- sleep.second(秒 = 5);
- continue;
- }
- sleep.second(秒 = 3);
- print.log("\n检查登录状态...");
- var 需要登录 = false;
- try {
- 关闭弹窗();
- sleep.millisecond(毫秒 = 500);
- if (检查文字存在(["首页", "朋友", "去赚钱"])) {
- print.log("✓ 已在首页");
- } else if (检查文字存在(["手机号", "验证码", "密码"])) {
- print.log("⚠ 检测到登录页面,需要手动登录");
- 需要登录 = true;
- } else {
- print.log("✓ 已登录");
- }
- } catch (e) {
- print.log("⚠ 检查登录状态失败:" + e.message);
- }
- if (需要登录) {
- print.log("⚠ 请手动登录后重新运行");
- sleep.second(秒 = 10);
- continue;
- }
- print.log("\n开始刷视频...");
- var 已观看视频数 = 0;
- var 连续错误次数 = 0;
- for (已观看视频数 = 1; 已观看视频数 <= 每轮最大视频数; 已观看视频数++) {
- print.log("\n--- 第 " + 已观看视频数 + " 个视频 ---");
- try {
- sleep.second(秒 = 每个视频观看时长秒);
- print.log("✓ 已观看 " + 每个视频观看时长秒 + " 秒");
- 关闭弹窗();
- sleep.millisecond(毫秒 = 500);
- if (已观看视频数 % 每N个视频领取金币 === 0) {
- print.log("\n📦 尝试领取金币");
- var 金币节点 = 查找文字节点(["宝箱", "红包", "立即领取", "领取金币"]);
- if (金币节点) {
- print.log("✓ 找到金币宝箱:" + 金币节点.getDesc());
- 金币节点.click();
- print.log("✓ 已点击金币宝箱");
- sleep.second(秒 = 2);
-
- 关闭弹窗();
- 关闭招财鸭弹窗();
-
- var 领金币按钮 = 查找文字节点(["领金币"]);
- if (领金币按钮) {
- print.log("✓ 找到领金币按钮");
- 领金币按钮.click();
- print.log("✓ 已点击领金币按钮");
- sleep.second(秒 = 2);
- }
-
- var 领福利按钮 = 查找文字节点(["领福利"]);
- if (领福利按钮) {
- print.log("✓ 找到领福利按钮");
- 领福利按钮.click();
- print.log("✓ 已点击领福利按钮");
- sleep.second(秒 = 2);
- }
-
- var 立即签到按钮 = 查找文字节点(["立即签到"]);
- if (立即签到按钮) {
- print.log("✓ 找到立即签到按钮");
- 立即签到按钮.click();
- print.log("✓ 已点击立即签到按钮");
- sleep.second(秒 = 2);
- }
-
- var 点可领按钮 = 查找文字节点(["点可领"]);
- if (点可领按钮) {
- print.log("✓ 找到点可领按钮");
- 点可领按钮.click();
- print.log("✓ 已点击点可领按钮");
- sleep.second(秒 = 2);
- }
-
- 返回视频页面();
- } else {
- print.log("⚠ 未找到金币文字节点,尝试点击金币图标位置");
- auto.clickPercent(0.92, 0.22);
- print.log("✓ 已点击右上角金币图标位置");
- sleep.second(秒 = 2);
-
- 关闭弹窗();
- 关闭招财鸭弹窗();
-
- var 领金币按钮2 = 查找文字节点(["领金币"]);
- if (领金币按钮2) {
- print.log("✓ 找到领金币按钮");
- 领金币按钮2.click();
- print.log("✓ 已点击领金币按钮");
- sleep.second(秒 = 2);
- }
-
- var 领福利按钮2 = 查找文字节点(["领福利"]);
- if (领福利按钮2) {
- print.log("✓ 找到领福利按钮");
- 领福利按钮2.click();
- print.log("✓ 已点击领福利按钮");
- sleep.second(秒 = 2);
- }
-
- var 立即签到按钮2 = 查找文字节点(["立即签到"]);
- if (立即签到按钮2) {
- print.log("✓ 找到立即签到按钮");
- 立即签到按钮2.click();
- print.log("✓ 已点击立即签到按钮");
- sleep.second(秒 = 2);
- }
-
- var 点可领按钮2 = 查找文字节点(["点可领"]);
- if (点可领按钮2) {
- print.log("✓ 找到点可领按钮");
- 点可领按钮2.click();
- print.log("✓ 已点击点可领按钮");
- sleep.second(秒 = 2);
- }
-
- 返回视频页面();
- }
- }
- print.log("▶ 滑动到下一个视频");
- auto.drag(Math.floor(屏幕宽 * 0.5), Math.floor(屏幕高 * 0.95), Math.floor(屏幕宽 * 0.5), Math.floor(屏幕高 * 0.05), 500);
- print.log("✓ 已滑动");
- sleep.second(秒 = 2);
- 连续错误次数 = 0;
- } catch (e) {
- 连续错误次数++;
- print.log("⚠ 出错(第" + 连续错误次数 + "次):" + e.message);
- sleep.second(秒 = 3);
- if (连续错误次数 >= 3) {
- print.log("✗ 连续错误3次,重启APP");
- try {
- app.closeApp(APP包名);
- sleep.second(秒 = 2);
- app.openApp(APP包名);
- sleep.second(秒 = 8);
- print.log("✓ 已重启");
- 关闭弹窗();
- 连续错误次数 = 0;
- } catch (e2) {
- print.log("✗ 重启失败:" + e2.message);
- break;
- }
- }
- }
- }
- print.log("\n等待10秒后开始下一轮...");
- sleep.second(秒 = 10);
- }
复制代码
| |  | |  |
|