autojs-练手-视频号点赞(进阶版)

注释很详细,直接上代码

较初阶版新增内容

1. 简单但好用的ui界面

为方便大家参考,ui界面的模板单独拿出来了

ui界面模板

2. opencv图像识别

3. 需加载情况特殊处理(防卡壳)

4. 增加自动判断是否已点赞的情况

源码部分

 // 启用自动执行auto();//设置运行框标题颜色和字体大小console.setTitle("眨眼睛出品","#ff11ee00",40);//设置运行框初始的位置console.setPosition(400, 100);//判断运行框是否显示在屏幕上var isconsoleshow =false //初始函数init_operator();//初始化函数
function init_operator(){//申请截图权限requestScreenCapture();//自动授予截图权限//安卓版本高于Android 9if(device.sdkInt>28){//等待截屏权限申请并同意threads.start(function () {packageName('com.android.systemui').text('立即开始').waitFor();text('立即开始').click();});}
}function click_img(path_){//获取手机中程序所在的目录var pos = files.cwd()//读取微信图标的小图片var wx = images.read(pos+path_);//暂停一会防止截图过快截到授予权限时的照片sleep(1000)//截图并找图//region的内容分别是所查找区域的左上角坐标,区域的宽高//(如果只有两位数字则表示从这个坐标到右下角)//threshold的内容是相似度var p = findImage(captureScreen(), wx, {region: [0, 50],threshold: 0.9});if(!p){log("未找到图片或已点赞")return false;}click(p.x,p.y+30)log("成功点赞");return true;
}//点赞流程
function dz_operator(){//需求次数var num=dialogs.input("请输入一个数字")//额外储存var num_res=num;//无法下滑的情况(在加载,需要缓慢特殊的滑动方式),判定是否需要加载var num_need_jj=0;while(num>0){//等待关注字眼出现textContains("关注").waitFor();log("查询到视频")//图片位置在autojs的文件同级目录(“脚本”下一级)if(click_img("/视频号点赞部分图片.jpg")){num-=1;var num_shunxu=num_res-numlog("第"+num_shunxu+"次点赞成功!")num_need_jj=0;}else{if(num_need_jj<3){num_need_jj+=1;}}//处理加载视频的情况if(num_need_jj==3){swipe(534, 1200, 535,600 , 2000)}//下滑scrollDown();sleep(100);}}// 定义开始按钮的响应函数function startstopButtonClick() {toast("开始按钮被点击");// 在这里编写开始按钮被点击后的逻辑if (window.startstopButton.getText() === "开始") {//定义开始之后的逻辑threads.start(function () {dz_operator();});//修改按钮文本为停止window. startstopButton. setText("停止")} else {//点击停止之后的逻辑//修改按钮文本为开始window.startstopButton. setText("开始")}}// 定义控制台按钮的响应函数function consoleButtonClick() {toast("控制台按钮被点击");// 在这里编写停止按钮被点击后的逻辑//这里对控制台状态操作需要启用新线程,否则当场卡死//暂时还不明白为啥不能在同一个线程改变控制台状态,先这样用着threads.start(function () {//如果当前是显示状态则隐藏if (isconsoleshow){console.hide(true) //修改标记isconsoleshow=false }else{//同理//填true是为了程序关闭时将控制台一同关闭console.show(true) isconsoleshow=true  }console.setBackgroud("#44000000");});}// 定义退出按钮的响应函数function exitButtonClick() {toast("退出按钮被点击");// 在这里编写退出按钮被点击后的逻辑//直接结束程序exit ();}// 创建UI界面var window = floaty.window(//垂直分布<vertical><button id="startstopButton" text="开始" w="auto" h="auto"/><button id="consoleButton" text="控制台" w="auto" h="auto"/><button id="exitButton" text="退出" w="auto" h="auto"/></vertical>);// 设置开始停止按钮的点击事件监听器window.startstopButton.click(() => {//开始及停止按钮点击处理函数startstopButtonClick();});// 设置控制台按钮的点击事件监听器window.consoleButton.click(() => {//控制台按钮点击处理函数consoleButtonClick();});// 设置退出按钮的点击事件监听器window.exitButton.click(() => {//退出按钮点击处理函数exitButtonClick();});// 保持程序运行状态,否则会运行完即关闭setInterval(() => {}, 1000);

图片素材下载(放在autojs同级目录,一般是在“脚本”文件夹的下一级)

在这里插入图片描述

(为防止水印覆盖图案故意将图片截长了点,请读者自行截取左边的内容使用)
图片素材链接

运行效果:

在这里插入图片描述

运行框信息输出概况

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/217637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS4.0从零开始的开发教程14Web组件的使用

HarmonyOS&#xff08;十二&#xff09;Web组件的使用 1 概述 相信大家都遇到过这样的场景&#xff0c;有时候我们点击应用的页面&#xff0c;会跳转到一个类似浏览器加载的页面&#xff0c;加载完成后&#xff0c;才显示这个页面的具体内容&#xff0c;这个加载和显示网页的…

智能优化算法应用:基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.水循环算法4.实验参数设定5.算法结果6.参考文…

无需公网IP联机Minecraft,我的世界服务器本地搭建教程

目录 前言 1.Mcsmanager安装 2.创建Minecraft服务器 3.本地测试联机 4. 内网穿透 4.1 安装cpolar内网穿透 4.2 创建隧道映射内网端口 5.远程联机测试 6. 配置固定远程联机端口地址 6.1 保留一个固定TCP地址 6.2 配置固定TCP地址 7. 使用固定公网地址远程联机 8.总…

Vue 中 v-model 的修饰符

lazy 修饰符&#xff1a;将 v-model 改为失去焦点后更新数据。 number 修饰符&#xff1a;将 v-model 数据转为数字类型。 trim 修饰符&#xff1a;去除 v-model 数据中的首尾空格。 语法格式&#xff1a; // lazy 修饰符 <input v-model.lazy"数据"> // nu…

靠谱的车- 华为OD统一考试(C卷)

靠谱的车- 华为OD统一考试&#xff08;C卷&#xff09; OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 程序员小明打了一辆出租车去上班。出于职业敏感&#xff0c;他注意到这辆出租车的计费表有点问题&#xf…

【JNA与C++基本使用示例】

JNA中java与C使用注意事项和代码示例 JNA关系映射表使用案列注意代码示例C代码java代码 JNA关系映射表 使用案列 注意 JNA只支持C方式的dll使用C的char* 作为返回值时&#xff0c;需要返回的变量为malloc分配的地址C的strlen函数只获得除/0以外的字符串长度 代码示例 C代码…

基于PaddleNLP的深度学习对文本自动添加标点符号(一)

前言 目前以深度学习对文本自动添加标点符号研究很少&#xff0c;已知的开源项目并不多&#xff0c;详细的介绍就更少了&#xff0c;但对文本自动添加标点符号又在古文识别语音识别上有重大应用。 基于此&#xff0c;本文开始讲解基于PaddleNLP的深度学习对文本自动添加标点符号…

鸿蒙开发之状态管理@Prop和@Link

一、用法 在父子组件需要进行数据同步的时候&#xff0c;可以通过Prop和Link装饰器来做到。在父组件中用State装饰&#xff0c;在自组件中用Prop或Link装饰。 结论&#xff1a;Prop用于子组件只监听父组件的数据改变而改变&#xff0c;自己不对数据改变 Link用于子组件与父组…

Proxmox VE 安装 OpenWrt 配置旁路由教程

话不多说&#xff0c;本篇文章将记录如何在 Proxmox VE 环境通过虚拟机安装 OpenWrt 配置旁路由的过程&#xff0c;仅做参考。 PVE 创建虚拟机 名称随意&#xff0c;GuestOS 选择 Linux&#xff0c;不使用任何 iso 镜像。&#xff08;记住你的 VMID&#xff09; 清空将要创建…

机器学习---Adaboost算法

1. Adaboost算法介绍 Adaboost是一种迭代算法&#xff0c;其核心思想是针对同一个训练集训练不同的分类器&#xff08;弱分类器&#xff09;&#xff0c;然 后把这些弱分类器集合起来&#xff0c;构成一个更强的最终分类器&#xff08;强分类器&#xff09;。Adaboost算法本身…

Qt 线程

&#x1f4a1; 进度条显示拷贝进度&#xff08;verson 1&#xff09; 窗口上放置一个按钮和一个进度条部件&#xff0c;点击按钮&#xff0c;进行拷贝操作 —— 打开对话框选择源文件&#xff0c;然后再打开一个对话框 选择 目标文件存放位置和名称。拷贝过程中进度条显示当前…

十三、YARN资源分配调用

1、为什么要先学习YARN组件&#xff1f; 在Hadoop文件系统中&#xff0c;YARN作为Hadoop系统的第三大组件&#xff0c;其中&#xff0c;第二大组件MapReduce组件是基于YARN运行的&#xff0c;即没有YARN无法运行MapReduce程序&#xff0c;所以需要同时学习YARN。 2、YARN &…

Day58力扣打卡

打卡记录 下一个更大元素 IV&#xff08;单调栈 x2&#xff09; 链接 class Solution:def secondGreaterElement(self, nums: List[int]) -> List[int]:ans [-1] * len(nums)s []t []for i, x in enumerate(nums):while t and nums[t[-1]] < x:ans[t.pop()] x # t…

『npm』一条命令快速配置npm淘宝国内镜像

&#x1f4e3;读完这篇文章里你能收获到 一条命令快速切换至淘宝镜像恢复官方镜像 文章目录 一、设置淘宝镜像源二、恢复官方镜像源三、查看当前使用的镜像 一、设置淘宝镜像源 npm config set registry https://registry.npm.taobao.org服务器建议全局设置 sudo npm config…

科技提升安全,基于YOLOv6开发构建商超扶梯场景下行人安全行为姿态检测识别系统

在商超等人流量较为密集的场景下经常会报道出现一些行人在扶梯上摔倒、受伤等问题&#xff0c;随着AI技术的快速发展与不断普及&#xff0c;越来越多的商超、地铁等场景开始加装专用的安全检测预警系统&#xff0c;核心工作原理即使AI模型与摄像头图像视频流的实时计算&#xf…

没有明确的报错信息,阿里云国际版Windows服务器无法远程连接

在远程连接失败时&#xff0c;如果您没有收到系统返回的报错信息&#xff0c;并且ECS实例是运行中的状态&#xff0c;然后再根据以下步骤进行排查&#xff1a; 步骤一&#xff1a;使用阿里云Workbench工具测试远程登录 步骤二&#xff1a;检查是否有收到黑洞通知 步骤三&…

多维时序 | MATLAB实现BWO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现BWO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现BWO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现BWO-CNN-B…

蓝牙在物联网中的应用,相比WIFI和NFC的优势?

蓝牙在物联网中有着广泛的应用&#xff0c;主要包括以下几个方面&#xff1a; 1、智能家居&#xff1a;蓝牙Mesh技术可以用于智能家居设备之间的连接和通信&#xff0c;实现设备的远程控制和管理。例如&#xff0c;通过蓝牙技术可以将智能音箱、智能电视、智能家电等设备连接起…

算法:多数元素(排序和Boyer Moore投票算法)

排序 时间复杂度 O(nlog⁡n) 空间复杂度 O(log⁡n) /*** param {number[]} nums* return {number}*/ var majorityElement function (nums) {nums nums.sort()// 排序之后数组中间的数一定是众数&#xff08;因为题目说数组中的众数大于 ⌊nums.length/2⌋&#xff09;retur…

Vue3-03-reactive() 响应式基本使用

reactive() 的简介 reactive() 是vue3 中进行响应式状态声明的另一种方式&#xff1b; 但是&#xff0c;它只能声明 【对象类型】的响应式变量&#xff0c;【不支持声明基本数据类型】。reactive() 与 ref() 一样&#xff0c;都是深度响应式的&#xff0c;即对象嵌套属性发生了…