autoJS自动化

本人是一个web前端开发工程师,没想到可以用javascript来实现手机自动化,就有了之后的一系列文章,有好建议的同学欢迎评论区分享 ;-)

专栏地址:点击此处


文章目录

  • autoJS自动化
  • 开发环境
  • 链接
  • 背景
  • 功能
    • 1. 打开douyin极速版
    • 2. 自定义函数实现点击功能
    • 3. 基本操作
  • 源文件

开发环境

不同的环境可能导致部分代码运行有问题,所以开发者要确定好自己对应的环境

autojs版本:Pro 9.2.13-0
手机型号:小米8
android版本:10
开发工具:vscode
vscode连接插件:Auto.js-Pro-Ext
脚本对应软件:douyin极速版 version22.3.0

链接

autojs参考文档:点击
CSDN专栏:点击
gitee地址:点击

背景

女朋友的douyin号每次更新总要叫我去帮他点赞、评论、收藏、转发,一次两次还好,后来懵了,就想着能不能做一个手机脚本,来解放双手。

这篇文章只用来实现点赞、评论、收藏、转发 等基础操作;
另外跳转到个人主页,跳转到指定视频页面的功能,自动下滑视频,随机执行基本操作,随机评论等…
咋们其他文章再写~~~

功能

1. 打开douyin极速版

// 根据APP名称打开APP
app.launchApp("抖音极速版");
//  设置脚本坐标点击所适合的屏幕宽高。如果脚本运行时,屏幕宽度不一致会自动放缩坐标。这个功能可以设置屏幕上坐标点击的等比缩放效果。
setScreenMetrics(1080, 1920);

2. 自定义函数实现点击功能

这边主要封装了一个函数,用于点击屏幕,主要原理是autojs Pro 的小机器人获取布局,根据布局调用合适的API,获取到组件的rect,并且点击其中心点位置,实现模拟点击功能

/*** @desc 根据条件点击找到组件,并且点击其中心点,并返回* @param {*} str 输入需要找到组件里面带的文本* @param {*} type 查找组件的类型,由此来确定需要调用什么方法* @param {*} index 索引* @param {*} offsetX 点击X轴偏移* @param {*} offsetY 点击X轴偏移* @returns */
function clickByTextAndType(str, type, index, offsetX, offsetY) {if (!str) {throw ("请输入需要查找的组件文本");}if (!type) {throw ("请输入查找组件的类型");}index = index ? index : 0;offsetX = offsetX ? offsetX : 0;offsetY = offsetY ? offsetY : 0;var rect = null;var collection = null;switch (type) {case "desc": {collection = descContains(str).find();break;}case "text": {collection = textContains(str).find();break;}default: {throw ("请输入正确的查找组件的类型");return false;}}// 判断有无找到组件if (collection.empty()) {throw ("没有找到该组件," + str + "," + type);}// 如果索引比长度小则拿最后一个if (collection.length < (index + 1)) {index = collection.length - 1;}// 找到了rect = collection[index].bounds();// 点击pointvar point = {x: rect.centerX() + offsetX,y: rect.centerY() + offsetY}// 点击按钮click(point.x, point.y);return point;
}

3. 基本操作

点赞、评论、收藏、转发只是控制点击跟输入input数据而已,这边就不细写,可以参考下面的源文件。


源文件

/** @Author: Penk* @LastEditors: Penk* @LastEditTime: 2022-09-15 17:33:26* @FilePath: \autojs-demo\douyin基本操作.js*/
// 根据APP名称打开APP
app.launchApp("抖音极速版");
//  设置脚本坐标点击所适合的屏幕宽高。如果脚本运行时,屏幕宽度不一致会自动放缩坐标。这个功能可以设置屏幕上坐标点击的等比缩放效果。
setScreenMetrics(1080, 1920);
sleep(5000);var mApp = {}/*** @desc 根据条件点击找到组件,并且点击其中心点,并返回* @param {*} str 输入需要找到组件里面带的文本* @param {*} type 查找组件的类型,由此来确定需要调用什么方法* @param {*} index 索引* @param {*} offsetX 点击X轴偏移* @param {*} offsetY 点击X轴偏移* @returns */
function clickByTextAndType(str, type, index, offsetX, offsetY) {if (!str) {throw ("请输入需要查找的组件文本");}if (!type) {throw ("请输入查找组件的类型");}index = index ? index : 0;offsetX = offsetX ? offsetX : 0;offsetY = offsetY ? offsetY : 0;var rect = null;var collection = null;switch (type) {case "desc": {collection = descContains(str).find();break;}case "text": {collection = textContains(str).find();break;}default: {throw ("请输入正确的查找组件的类型");return false;}}// 判断有无找到组件if (collection.empty()) {throw ("没有找到该组件," + str + "," + type);}// 如果索引比长度小则拿最后一个if (collection.length < (index + 1)) {index = collection.length - 1;}// 找到了rect = collection[index].bounds();// 点击pointvar point = {x: rect.centerX() + offsetX,y: rect.centerY() + offsetY}// 点击按钮click(point.x, point.y);return point;
}// douyin操作-点赞
mApp.zan = function () {clickByTextAndType("未点赞", "desc");
}// douyin操作-评论
mApp.comment = function () {// 点击评论按钮clickByTextAndType("评论", "desc");sleep(random(500, 1000));// 输入评论setText(0,"素质3连,马上安排上...");sleep(random(1000, 5000));// 点击发送clickByTextAndType("发送", "desc");sleep(random(1000, 5000));// 点击空白处back();
}// douyin操作-收藏
mApp.collect = function () {// 点击收藏按钮clickByTextAndType("未选中,收藏", "desc");
}// douyin操作-转发
mApp.transmit = function () {// 点击转发按钮clickByTextAndType("分享", "desc");sleep(random(1000, 2000));// 私信朋友按钮clickByTextAndType("私信", "text");sleep(random(1000, 2000));// 私信朋友按钮var point = clickByTextAndType("分享", "desc", random(0, 2));sleep(random(1000, 2000));// 继续点击该位置,可以发信息click(point.x, point.y);sleep(random(1000, 2000));// 输入信息setText(0,"素质3连,马上安排上...");sleep(random(1000, 2000));// 点击发送clickByTextAndType("发送", "desc");
}// 直接调用
mApp.transmit();

autoJS pro-手机自动化脚本(douyin App模拟人工操作点赞、评论、收藏、转发)相关推荐

  1. QPython+uiautomator2安卓手机自动化脚本编写

    QPython+uiautomator2安卓手机自动化脚本编写 开始 手机端运行 不需要尝试的 换个思路 使用图像匹配 常见问题 uiautomator2使用说明:https://github.com ...

  2. autoJS pro-手机自动化脚本基础小功能篇(截图、版本号、打印日志)

    autoJS自动化 本人是一个web前端开发工程师,没想到可以用javascript来实现手机自动化,就有了之后的一系列文章,有好建议的同学欢迎评论区分享 ;-) 专栏地址:点击此处 文章目录 aut ...

  3. 手机自动化脚本-- 模拟器模拟真机环境过检测

    文章目录 安装包目录结构 一.安装雷电模拟器9 二.新建模拟器并且初始化 1. 性能设置 2. 其他设置 3. 当前配置 三.面具 1. 安装 2. 面具初始化 四.修改机型 1. 将机型模块安装到模 ...

  4. AutoJs制作简易自动化脚本(持续更新)

    一.环境搭建 代码编程建议使用vscode编写 下载安装autojs(建议还是下载4.1.1版本):​​​​​​Auto.js Pro (autojs.org) 2023-2-18免费版已经无法使用, ...

  5. autojs Pro免root脚本引擎编写的获取本地时间及网络时间验证

    说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...

  6. QQ复读机,autojs pro免root脚本引擎开发的,不需要root权限运行

    说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...

  7. jenkins + UIAutomation 自动化脚本运行app

    这里,我在jenkins上配置了子节点,脚本中包含了在master还是在slave上执行脚本的判断脚本 SERVER_HOME=$JENKINS_HOME/jobs/$JOB_NAME ATTACHE ...

  8. c#网页自动化脚本语言,C# 模拟浏览器并自动操作的实例代码

    本文主要讲解通过WebBrowser控件打开浏览页面,并操作页面元素实现自动搜索功能,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点 WebBrowser:用于在WinForm窗体中,模拟浏览 ...

  9. python 手机自动化脚本_iOS python自动化出包脚本

    脚本代码如下: #!/usr/bin/python # -*- coding:UTF-8 -*- import os import sys import time # 发邮件所用 from email ...

最新文章

  1. Yolov4性能分析(上)
  2. Hibernate学习(九)———— 二级缓存和事务级别详讲
  3. 4020-基于链地址法的散列表的插入(C++,附思路以及头插法,尾插法两种代码)
  4. 甲骨文谷歌继续打官司:美最高法院同意复审 Java API 版权诉讼案
  5. TypeScript声明文件
  6. app测试--性能测试DDMS
  7. 计算机考研复试汇总(所有科目)
  8. jasperReports导出PDF字体加粗等样式失效问题
  9. 联通UPhone计划是国家重大专项?
  10. 12V继电器开关控制
  11. 易班自动打卡+钉钉机器人消息提醒
  12. 独立开发变现周刊(第66期): 如何把一个短链接生成工具变成一个可持续盈利的产品?...
  13. 58.union (联合查询)
  14. 软件造价评估最新模板免费下载(基于2022年度行业基准数据)
  15. NYIST 113 字符串替换
  16. 基于Matlab Robotics Toolbox的Dobot机械臂运动规划(1)
  17. MDX语句(初学者)
  18. NLP学习笔记 02 句法和文法
  19. 如何管理Apple Watch通知设置?
  20. 得胜php100怎么样,实情解密得胜得胜好不好用?怎么样呢?真实体验爆料

热门文章

  1. java 数字补零_java数字位数不足在前后补0
  2. 实现Python Http 接口测试
  3. 高通AKM8975地磁传感器分析
  4. css内边距属性、外边距属性
  5. 无法软关机(关机变重启或关机不切断电源而显示:您可以安全关机)解决方法+ACPI精解...
  6. 无位置传感器的电机控制
  7. 【大学】我的大学四年
  8. linux内核编译最详细,Linux内核编译详细教程,linux内核编译
  9. 寒假学习打卡第一篇文章-----numpy的学习
  10. Linux 内存管理篇(1)内存寻址