auto.js的学习(微信朋友圈点赞实现)

2023-11-02


流程实现

运行环境: auto.js4.00 Beta(需要这个版本的话评论或者私聊我)

1.启动无障碍服务
auto.waitFor();

auto.waitFor()

检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍服务启用界面,并等待无障碍服务启动;当无障碍服务启动后脚本会继续运行。


2.进入朋友圈页面的过程
launchApp("微信");//启动微信,参数就是App的全名
text("发现").findOne().parent().click();
text("朋友圈").findOne().parent().click();
sleep(1000);
  1. 布局范围分析
  2. 找到发现的控件,text属性:发现,clickable属性市false,不可点击,则找到他的上一级控件(父控件),属性是可点击的
  3. 朋友圈的点击同理
  4. sleep 1秒钟,等待页面加载完

在这里插入图片描述


3.单个点赞按钮的点击

desc()

  1. 布局分析,对能够点开 ’赞‘ 和 ’评论‘ 控件的按钮布局分析,可以根据desc属性锁定
  2. ’赞‘ 的流程和 ’发现‘ 控件一样,找他的父组件
    在这里插入图片描述
 text("赞").findOne().parent().click();

#### 3.滑动控件集合的查找 [find()](https://hyb1996.github.io/AutoJs-Docs/#/widgetsBasedAutomation?id=uiselectorfind)
  1. 每一个滑动组件都包含 desc属性时 “评论” 的描述,根据这一点可以找到当前页面的所有滑动控件,调用 find()
    ,返回一个数组。
comment = desc("评论").find();
  1. 遍历该数组,每循环一次,判断 “赞” 的控件是否存在,存在则点击,否则进行下次循环
comment.forEach(item => {
                console.log("找到一个评论控件");
                item.click();
               
            })
if (text("赞").exists()) {
           text("赞").findOne().parent().click();
                }

4.将代码放入大的循环体,滑动成功,执行

scrollForward()


5.整体代码


auto.waitFor();
var sum = 0;
console.show();

launchApp("微信");//启动微信
text("发现").findOne().parent().click();
text("朋友圈").findOne().parent().click();
sleep(1000);
scoll();//调用执行方法

function scoll() {
    do {
        sleep(2000);//暂停2秒 等页面滑动执行完成
        //当前页面逻辑
        comment = desc("评论").find();
        if (!comment.empty()) {
            console.log("找到评论集合了");
            comment.forEach(item => {
                console.log("找到一个评论框");
                var b = item.click();
                console.log(b ? "点击评论成功" : "点击评论失败");
                sleep(1000);
                if (className("android.widget.TextView").text("赞").exists()) {
                    className("android.widget.TextView").text("赞").findOne().parent().click();
                    sleep(1000);
                    sum++;
                    console.info("已赞个数:" + sum);
                }
            })

        }
    } while (className("android.widget.ListView")
        .findOne().scrollForward());
}



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

auto.js的学习(微信朋友圈点赞实现) 的相关文章

  • 循环内的局部变量会被垃圾收集吗?

    我想知道将循环内引用的任何变量放在循环外是否更有效 或者它们可以像函数内的变量一样被垃圾收集吗 var obj key val for var i 0 i lt 10 i console log obj or for var i 0 i l
  • 执行页面的 javascript 后保存页面的 html 输出

    我正在尝试抓取一个网站 它首先加载 html js 使用js修改表单输入字段 然后使用POST 如何获得 POSTed 页面的最终 html 输出 我尝试使用 phantomjs 执行此操作 但它似乎只有渲染图像文件的选项 谷歌搜索表明这应
  • 在 Angular 单元测试中应该如何处理运行块?

    我的理解是 当您在 Angular 单元测试中加载模块时 run块被调用 我认为如果你正在测试一个组件 你不会想同时测试run块 因为unit测试应该只是测试一个unit 真的吗 如果是的话有什么办法可以防止run阻止运行 我的研究让我认为
  • jQuery - 提高处理 XML 时的选择器性能

    我正在处理一个 XML 文件 当使用 XPath 样式选择器选择节点时 该文件的性能非常慢 这是运行特别慢的部分代码 for i 0 i
  • Sails.js - 如何更新嵌套模型

    attributes username type email validated by the ORM required true password type string required true profile firstname s
  • 是否可以将自定义 HTML 添加到传单图层组和图层控件

    有什么方法可以将自定义 HTML 注入图层组和图层控件中吗 在我们的应用程序中 我们实现了滑块 输入 范围 来调整不透明度设置 并且很明显 在其控制容器内部的基础层上使用专用滑块是有意义的 没有选项或参数可以修改此控件 理想情况下 我们希望
  • Chrome 内存/垃圾收集问题

    我在使用 Chrome 时遇到内存 垃圾收集问题 我正在开发一个照片上传网站 该网站允许我的客户使用 HTML5 和文件 API 拖放照片进行上传 因此这在 IE 中不起作用 它仅适用于 Chrome 和 FF 我还没有在 Safari O
  • Webpack 和 Angular HTML 图像加载

    我一直对 webpack 和 Angular 感到头疼 这可能有一个简单的答案 但我无法弄清楚 我已经阅读了堆栈溢出中关于这个主题的几乎所有答案 但都无济于事 我有一个像这样的 html 页面 还有其他包含图像的模板 img
  • 变量前面加双下划线

    我的节点代码中有以下代码片段 var fs require fs fs readdir dirname function err files console log files 为什么变量 dirname 有双下划线 我知道一个下划线是私有
  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • 属性访问器(getter)的扩展运算符问题

    我很难理解为什么以下代码存在一些问题https jsfiddle net q4w6e3n3 3 https jsfiddle net q4w6e3n3 3 Note 所有示例均在 chrome 版本 52 0 2743 116 中进行测试
  • 将数组中的所有元素相乘

    我在这里找不到我真正想要的例子 我想将所有数组元素相乘 因此如果数组包含 1 2 3 总和将为 123 6 到目前为止 我已经得到了这段代码 但它返回未定义 function multiply array var sum 1 for var
  • 当表格在 IE 中获得焦点时,表格滚动条会向上跳跃

    问题 我有一个table有包装的div with overflow y auto 一旦table获得焦点 滚动条向上跳 我怎样才能防止这种情况发生 我经历过这种行为IE9 不在 Chrome 中 请注意 我已添加tabindex到桌子上 以
  • 如何在服务器端按钮点击时关闭当前标签页?

    我尝试在确认后关闭当前选项卡 因此我将以下代码放在确认按钮的末尾 但选项卡没有关闭 string jScript ClientScript RegisterClientScriptBlock this GetType keyClientBl
  • 全局未在 ../node_modules/socket.io-parser/is-buffer.js 中定义

    预先感谢您帮助我 我正在尝试在我的一个角度组件中连接套接字 但在浏览器的控制台中它会抛出一个错误 指出 Global 未在 Object node modules socket io parser is buffer js 中定义 这是我的
  • 更改特定字符串的颜色

    有谁知道如果将特定单词输入文本区域 我如何更改它的颜色 例如 如果用户输入 你好我的朋友 它会动态地将 你好 更改为绿色 在google上花了很多时间 找不到任何相关的东西 谢谢 textareas 的设计目的不是选择性着色
  • 大型应用的回流/布局性能

    我正在使用 GWT 构建一个 HTML 应用程序 其性能总体上是正确的 有时 它会加载 DOM 中的许多对象 并且应用程序会变得很慢 我使用 Chrome 开发者工具分析器来查看时间花在哪里 在 Chrome 下 一旦应用程序被编译 即没有
  • 使用 Socket.IO 时如何访问会话标识符?

    我有一个聊天 我需要管理独特的连接 我四处搜寻 但我找到的解决方案似乎都已被弃用 那么 如何使用 Socket IO 获取套接字的会话 ID 我在用着Node js http en wikipedia org wiki Node js Ex
  • 如何从react-bootstrap复选框获取值/属性?

    我正在尝试使用反应引导复选框 https react bootstrap github io components html forms controls https react bootstrap github io components
  • 将 Angular Web 组件 EventEmitter 监听到 javascript

    我在以下工具的帮助下创建了一个小型网络组件本文 https medium com IMM9O web components with angular d0205c9db08f使用角度元素 其中包括 Input and Output 我能够将

随机推荐

  • Spring MVC应用的开发步骤

    Spring MVC应用的开发步骤 Spring MVC应用的开发步骤 如果以异步方式提交请求 利用XML配置文件 配置控制器类 Spring MVC应用的开发步骤 下面简单介绍Spring MVC应用的开发步骤 在web xml文件中配置
  • Frida hook Java层

    往期推荐 frida环境安装 Xposed框架安装 使用及插件开发 HOOK startActivity HOOK框架 动态代理 需要相关资料的朋友 可以 加入此处即可打包获取 需要对在进程外传递的消息进行拦截处理就必须采取一种称为HOOK
  • Hexo博客开发之——七牛云图片批量下载

    一 前言 基于hexo Github搭建的静态博客 图片等资源的存储是一个问题 之前考虑过图片保存本地文件夹 图床 qiniu 微博 等 但是七牛存储的图片会有一些问题 使得我不得不考虑领寻图片等资源的存储问题 1 1 七牛图片存储的问题
  • UE4 加载流关卡(StreamingLevel)

    主要内容 本文主要讲解流关卡的加载卸载以及使用流关卡的好处 使用流关卡的好处在于利于多人协同合作 例如使用SVN进行项目开发时 各自上传或修改各自负责的关卡可以互不干扰 实现步骤 1 新建一个默认的主关卡和两个空的关卡 2 在主关卡里把两个
  • 解决 Ubuntu18.10 无法安装 Nvidia-docker2

    2023年5月18日更新 nvidia 原 github io 网页已废弃 更新了新的主页链接 2022年8月10日更新 很高兴看到这篇文章能够帮助一些同仁 在此更新一下 根据 https nvidia github io nvidia d
  • iOS核心动画CoreAnimation系统进阶(赛贝尔曲线-菜单侧滑动画拆分动画详解)

    我们知道动画是基于绘制的 多次绘制贝塞尔的过程就会形成动画 流畅的动画效果会给用户带来不一样的使用体验 下面我们就让App开发中经常使用到的侧滑动画进行拆分详解 效果图如下 为侧滑动画封装一个slideMenuView 绘制侧滑动画需要下面
  • Raft协议处理各种failover情况

    Raft协议处理各种failover情况 Raft 协议的易理解性描述 虽然 Raft 的论文比 Paxos 简单版论文还容易读了 但论文依然发散的比较多 相对冗长 读完后掩卷沉思觉得还是整理一下才会更牢靠 变成真正属于自己的 这里我就借助
  • MYSQL数据库服务磁盘IO高问题分析与优化

    压力测试过程中 如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大 TPS逐渐降低等 而问题定位分析通常情况下 最优先排查的是监控服务器资源利用率 例如先用TOP 或者nmon等查看CPU 内存使用情况 然后在排查IO问题
  • java学生信息管理系统_毕业设计项目实例(含源码毕业论文)

    一 面向人群 学校的学生信息管理人员以及老师和学生 二 总体功能描述 本系统利用Java Web技术实现了学生信息管理系统 具有简单的学生信息管理功能 实现了以下功能模块 院系信息管理模块 学生信息管理模块 课程信息管理模块 成绩管理模块
  • http常见的特殊字符转义

    Http协议真的好严格 特殊字符诸如 等都会被当做转义字符处理 这样的话请求路径的参数就不对了 所以特殊字符要如下处理 空格 用 20代替 用 22代替 用 23代替 用 25代替 用 26代替 用 28代替 用 29代替 用 2B代替 用
  • python网页点击操作

    你好 在 Python 中 你可以使用 Selenium 库来进行网页点击操作 首先 你需要安装 Selenium pipinstall selenium 然后 你可以使用以下代码来打开浏览器并访问网页 from selenium impo
  • 结构体 & 枚举 在嵌入式开发中的巧妙使用

    结构体 枚举 提到结构体相信大家并不陌生 结构体顾名思义 是一种体 各种变量 的集合 方便了我们对于数据的管理和操作 在嵌入式开发中是必不可少要掌握的技能 那么我就通过举例子的方式给大家讲一下怎样使用结构体 第一种 普通式 我定义一个学生
  • Vue Test Utils

    单元测试 unit testing 是指对软件中的最小可测试单元进行检查和验证 在提供了经过测试的单元的情况下 系统集成过程将会大大地简化 开发人员可以将精力集中在单元之间的交互作用和全局的功能实现上 而不是陷入充满很多Bug的单元之中不能
  • tab栏切换的实现

    Tab导航栏切换在网页场景中十分常见 本文将介绍如何用js来实现交互的导航栏 分析 1 当鼠标点击上面相应的选项卡 tab 下面盒子的内容跟随变化 2 点击某一个选项 当前这一个底色会变成红色 字体变白色 其余不变 3 下面的模块显示内容需
  • 微信小程序地理位置接口( wx.getLocation )申请方法

    在平时我们在开发小程序时 难免会需要用到用户的地理位置信息的功能 微信小程序开发者开放平台新规要求如果没有申请开通微信小程序地理位置接口 wx getLocation 是无法审核通过小程序的 我自己在开发过程中 就有遇到这样的问题 如下 你
  • Java从入门到实战总结-2.4、Java异常处理及安装IDEA

    Java从入门到实战总结 2 4 Java异常处理及安装IDEA 文章目录 Java从入门到实战总结 2 4 Java异常处理及安装IDEA 1 IDEA下载 安装及卸载 2 异常处理学习点 3 什么是异常 1 概述 2 处理异常 3 tr
  • lock_guard和unique_lock的具体实现

    lock guard和unique lock是C 中用于实现互斥操作的两种机制 lock guard使用RAII 资源获取即初始化 技术来控制锁的作用域 它只有一个lock 函数 可以获取锁 当对象销毁时 关联的锁也会被自动释放 uniqu
  • DCDC轻载与重载的区别

    许多人认为轻载就是负载小 重载就是负载大 其实不然 轻重载的判断最直接的是看输出电流的变化 如果相较于之前的额定电流 通过变化负载 使其电流变小 则说明该电路进入了轻载 反之 则是重载
  • Tomcat 如何查看端口

    1 查看tomcat进程 root longer ps aux grep tomcat 复制代码 或者 root longer ps ef grep tomcat 复制代码 2 根据进程查看端口号 root longer sudo nets
  • auto.js的学习(微信朋友圈点赞实现)

    流程实现 运行环境 auto js4 00 Beta 需要这个版本的话评论或者私聊我 1 启动无障碍服务 auto waitFor auto waitFor 检查无障碍服务是否已经启用 如果没有启用则跳转到无障碍服务启用界面 并等待无障碍服