参考官方文档,通过autox.js写了一款ks刷金币脚本。本代码仅用作学习参考。
autox.js官方文档:autox.js官方文档
安装autox.js后,通过右上角+号,新建js文件,把代码粘贴进去即可运行,运行过程中如果有顶部弹窗可能会导致广告视频完成失败。
代码优先完成任务,而后刷视频。
代码:

/** @Descripttion: 用于快手刷金币的脚本* @Author: 只会Ctrl CV的菜鸟* @version: 1.1* @Date: 2022-12-19 22:54:52* @LastEditTime: 2022-12-22 15:37:20*/
/*** @descripttion: 进入红包界面,查找延时10s,点击随机延时500-1500ms* @return null*/
function clickRedEnvelope() {//查找红包小图标var rect = id("com.smile.gifmaker:id/pendant_mask_bg").findOne(8000);if (rect) {rect = rect.bounds();sleepRandom();//点击红包小图标click(rect.left, rect.top, rect.right, rect.bottom);}else {toast('未查找到红包图标');wipeUp();clickRedEnvelope();}
}
/*** @descripttion: 领取宝箱,查找延时5s,点击随机延时500-1500ms* @return null*/
function getBox() {//领取宝箱var t = textMatches("立刻领.*金币").findOne(5000)if (t) {sleepRandom();t.click();toast('宝箱领取成功');}else {toast('未查找到宝箱');}
}
/*** @descripttion: 向上滑动屏幕,每次滑动600dp* @return */
function wipeUp() {var x1 = device.width / 2 - 200;var y1 = device.height - 300;gesture(500, [x1, y1], [x1 - random(100, 200), y1 - 600]);
}
/*** @descripttion: 向下滑动屏幕,每次滑动600dp* @return */
function wipeDown() {var x1 = device.width / 2 - 200;var y1 = device.height - 300;gesture(500, [x1, y1], [x1 + random(100, 200), y1 + 600]);
}
/*** @descripttion: 领取额外金币,查找延时2s,点击随机延时500-1500ms* @return */
function getExtra() {var t = text('立即领取').findOne(2000);if (t) {sleepRandom();t.click();t = text('知道了').findOne(2000);if (t) {sleepRandom();t.click();}}else {toast('没有额外的视频金币');}
}function sleepRandom() {sleep(random(500, 1500));
}
/*** @descripttion: 完成去关注的任务* @return */
function gotoAttention() {var i = 4;while (i >= 0) {var t = text('去关注').findOne(2000);if (t) {sleepRandom();//点击去关注t.click();t = id('com.smile.gifmaker:id/follow_button').findOne(2000);if (t) {sleepRandom();//点击关注t.click();sleepRandom();back();t = text('知道了').findOne(2000);if (t) {sleepRandom();//点击知道了t.click();}}else {toast('关注失败');}}else {toast('该用户没有关注任务');i = 0;}i--;}}
/*** @descripttion: 完成点赞任务* @return */
function gotoGive() {var t = text('去点赞').findOne(2000);if (t) {sleepRandom();t.click()var rect = id("com.smile.gifmaker:id/player_cover").findOne(2000).bounds();if (rect) {sleepRandom();//点击视频click(rect.left, rect.top, rect.right, rect.bottom);rect = id('com.smile.gifmaker:id/like_icon').findOne(2000).bounds();if (rect) {sleepRandom();//点击爱心click((rect.left + rect.right) / 2, (rect.bottom + rect.top) / 2);clickRedEnvelope();t = text('知道了').findOne(2000);if (t) {sleepRandom();//点击知道了t.click();}}}}else {toast('用户无点赞任务');}/*** @descripttion: 完成评论任务* @return */
}
/*** @descripttion: 完成评论任务* @return {*}*/
function gotoComment() {var t = text('去评论').findOne(2000);if (t) {sleepRandom();//去评论t.click()var rect = id("com.smile.gifmaker:id/player_cover").findOne(2000).bounds();if (rect) {sleepRandom();//点击视频click(rect.left, rect.top, rect.right, rect.bottom);rect = id('com.smile.gifmaker:id/comment_icon').findOne(2000).bounds();if (rect) {sleepRandom();//点击评论图标click((rect.left + rect.right) / 2, (rect.bottom + rect.top) / 2);t = id('com.smile.gifmaker:id/editor_holder_text').findOne(2000);if (t) {sleepRandom();//点击输入框t.click();t = id("com.smile.gifmaker:id/editor").findOne(2000);if (t) {sleepRandom();//输入评论t.setText('666');t = text('发送');if (t) {sleepRandom();//点击发送t.click();clickRedEnvelope();t = text('知道了').findOne(2000);if (t) {sleepRandom();//点击知道了t.click();}}}}}}}else {toast('用户无评论任务');}
}
/*** @descripttion: 完成广告悬赏福利任务* @return */
function gotoWelfare() {var i = 10;var t = 0;while (i > 0) {t = textMatches('领福利.*赚更多').findOne(2000);if (t) {sleepRandom();//点击领福利t.click();var rect = text('已成功领取奖励').findOne(35000).bounds();if (rect) {sleepRandom();//返回back();}i--;}else {i = 0;toast('用户无福利悬赏');}sleepRandom();}}
/*** @descripttion: 完成观看直播任务* @return */
function gotoLive() {var i;var max;if (findTimeoutAndClick(textMatches("去观看.*限时领"), 2000)) {//等待直播出现id('com.smile.gifmaker:id/constraint_layout_live_item_container').waitFor();//统计任务次数if (id('com.smile.gifmaker.neo_live:id/watch_live_task_layout').exists()) {max = id('com.smile.gifmaker.neo_live:id/progress_display').findOne(1000).text().match(/\d+/g)[1];max = Number(max);i = id('com.smile.gifmaker.neo_live:id/progress_display').findOne(1000).text().match(/\d+/g)[0];i = Number(i);}print(i, max);while (i < max) {id('com.smile.gifmaker:id/constraint_layout_live_item_container').waitFor()max = id('com.smile.gifmaker.neo_live:id/progress_display').findOne(1000).text().match(/\d+/g)[1];max = Number(max);i = id('com.smile.gifmaker.neo_live:id/progress_display').findOne(1000).text().match(/\d+/g)[0];i = Number(i);//刷新wipeDown();sleep(random(3000, 5000));//进入直播间if (clickByRect(id('com.smile.gifmaker:id/constraint_layout_live_item_container'), 2000)) {sleep(random(31000, 35000));//等待31-35s,消除关注提示if (text('立即关注').findOne(1000)) {sleep(500);back();print('取消关注1');}}//点击赚金币if (clickByRect(text('赚金币').id('com.smile.gifmaker:id/neo_count_down_text'), 2000)) {sleep(1000);back();sleep(1000);//三个if为退出准备if (text('立即关注').exists()) {sleep(500);back();}if (text('退出直播间').exists()) {clickByRect(text('退出直播间'), 2000);sleep(2000);}if (text('猜你喜欢').exists() && text('退出').exists()) {clickByRect(text('退出'), 2000);sleep(2000);}}}back();sleepRandom();} else {toast('用户无观看直播任务');}
}
/*** @descripttion: 根据UiSelector来点击一个控件,点击前延时500-1500ms* @param {*} Object 传入UiSelector* @return true ro false */
function clickOne(Object) {if (Object.exists()) {sleepRandom();Object.findOne().click();return true;}else {return false;}
}
/*** @descripttion: 根据UiSelector来查找并点击一个控件,点击前延时500-1500ms* @param {*} object 传入UiSelector* @param {*} timeout 查找延时* @return true or false*/
function findTimeoutAndClick(object, timeout) {var i = object.findOne(timeout);if (i) {sleepRandom();i.click();return true;}else {return false;}
}
/*** @descripttion: 根据UiSelector来查找并通过rect点击一个控件,点击前延时500-1500ms* @param {*} object 传入UiSelector* @param {*} timeout 查找延时* @return true or false*/
function clickByRect(object, timeout) {var i = object.findOne(timeout);if (i) {let rect = i.bounds();sleepRandom();try {click((rect.left + rect.right) / 2, (rect.top + rect.bottom) / 2);return true;} catch (e) {print(e.message);print(rect.left , rect.right, rect.top , rect.bottom);}}else {return false;}
}function loopVideo() {while (true) {//刷视频sleep(random(10000, 20000));if (random(0, 2) > 0) {if (id('comment_button').exists()) {if (clickByRect(id('comment_button'), 2000)) {sleep(random(2000, 3000));back();sleepRandom();}}}wipeUp();}
}
//脚本开始函数
function main() {var i;//等待无障碍auto.waitFor();//启动快手app.launchApp('快手');sleep(1500);//跳过广告i = textMatches('跳过.*\\d');clickOne(i);//点击精选clickByRect(id('android:id/text1').text('精选'), 2000);//进入红包界面clickRedEnvelope();//领取宝箱getBox();sleep(1000);//back,回到主页back();//进入红包界面clickRedEnvelope();sleep(1000);//评论gotoComment();sleep(1000);//点赞gotoGive();sleep(1000);//关注gotoAttention();//广告悬赏gotoWelfare();sleep(1000);//看直播gotoLive();back();//循环刷视频clickByRect(id('android:id/text1').text('精选'), 2000);loopVideo();
}main();

快手自动操作学习参考相关推荐

  1. 从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  2. 计算机视觉--图像处理基础操作学习博客参考1

    以下内容为参考学习使用. 个人电脑的浏览器经常更换,不便收藏,记录在本文供以后学习参考使用. 该网友有编程经验,从实践的角度看OpenCV和图像处理的基本操作,并提供代码和解析 博客园某网友的的链接: ...

  3. 人力资源学python有意义吗-python爬虫抖音 个人资料 仅供学习参考 切勿用于商业...

    本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Too ...

  4. C# 系统应用之鼠标模拟技术及自动操作鼠标

    游戏程序的操作不外乎两种--键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合Fi ...

  5. java 包装类缺点_Java 自动拆箱和自动装箱学习笔记

    Java 自动拆箱和自动装箱学习笔记 详情参考以下 1. 概述 Java 中的自动装箱和自动拆箱算是一种语法糖,也就是在编译阶段编译器在合适的情况下帮我们的做了自动拆箱和自动装箱. 众所周知,Java ...

  6. 天池数据竞赛docker提交操作学习

    天池数据竞赛docker提交操作学习 由于最近天池的比赛都要求使用docker来提交结果,所以在此记录一下docker提交到天池的整个流程. 目前正在做的,全球人工智能技术创新大赛[热身赛二]比赛链接 ...

  7. python 在软件自己自动输入器_Python自动操作GUI神器PyAutoGUI

    本文共3500余字,预计阅读时间12分钟,本文知乎连接:Python自动操作GUI神器PyAutoGUI,本文同步发布于silaoA的博客和微信公众号平台. 关注学习了解更多的Cygwin.Linux ...

  8. QQ邮箱 接受 天气查询 阿里云自动运行学习记录

    QQ邮箱 接受 天气查询 阿里云自动运行学习记录 学习记录 QQ邮箱 接受 天气查询 阿里云自动运行学习记录 前言 一.对于天气的查询 1.中华万年历API接口,获取天气信息 二.qq邮箱的使用步骤 ...

  9. 推荐最新快手自动私信引流脚本教程,记得收藏

    最新快手自动私信引流脚本你知道是什么吗?快手私信引流脚本,我们会长期维护更新,每周更新一次.有建设性的意见也可以随时提出来,站长都会采纳优化. 接下来站长将为大家讲解最新快手自动私信引流脚本教程.脚本 ...

最新文章

  1. python写文件读文件-Python 实例:读写文件
  2. java 中的路径问题总结(绝对路径与相对路径) .
  3. Cookie application session
  4. 物联网为电信运营商带来众多商业机会
  5. 用哪个版本的基因组和注释文件好?| 亲测
  6. 头条+腾讯 NLP 面经
  7. 三种方式在spring容器中为bean实现初始化方法和销毁方法
  8. 两个不同网段的局域网如何互通_不同品牌的对讲机如何实现互通?
  9. 短进程优先调度算法c语言spf,短进程优先的调度算法详解
  10. 大麻和烟草对表观基因组产生双重影响
  11. 基于bootstrap的二维码支付系统webAPP设计
  12. CCF201809-3 元素选择器
  13. html如何让网页全屏,如何把页面弄成全屏?
  14. 线程之interrupt
  15. 基于ZigBee和STM32的智能家居控制系统的设计与实现(三)
  16. 《统计学》胡宝珠期末复习笔记
  17. 菜刀如何连接mysql_中国菜刀之终端操作及数据库管理
  18. linux 1000 ask(转)
  19. 隐藏在QRCode二维码背后的秘密
  20. Python的一些读书笔记

热门文章

  1. memcpy函数与结构体对齐
  2. 知道做到 - 分享三
  3. 2018 “百度之星”程序设计大赛 - 初赛(A)
  4. 安全帽识别的系统应用
  5. 单片机学习笔记——微机基础知识
  6. C语言:利用函数输出PI值
  7. 技术是可以量化的,稳定性性能和资产个数
  8. 招行193亿港元收购永隆银行53.1%股份
  9. 握手,交流从掌心开始
  10. JavaScript 各种参数 详解(十二)