【AutoX.js】选择器 UiSelector
文章目录
- 原文:https://blog.c12th.cn/archives/37.html
- 选择器 UiSelector
- 笔记
- 直接分析
- 层次分析
- 代码分析
- 最后
原文:https://blog.c12th.cn/archives/37.html
选择器 UiSelector
笔记
AutoX.js UiSelector
直接分析
用于简单、最直接的查找控件
-
开启悬浮窗权限

-
点击 布局分析

-
布局范围分析

-
选择一个值, 查看控件信息

-
当前选择值的 类名

这里在主页 演示

层次分析
用于查找多层、嵌套的控件
-
布局层次分析

-
选择最外层节点, 查看控件信息

-
最外层节点的 类名

这里在主页演示,可以看出在不同的页面,最外层节点的类名是一样的

代码分析
用于查找没有直接显示、嵌套较深的控件
从层次分析,得出在不同的页面,两者最外层节点的类名是一样的。
所以我们可以优先查找最外层的 类名className(“android.widget.FrameLayout”)
var node1 = className("android.widget.FrameLayout").findOnce();
log(node1);
为了方便截图就用输出窗口了

然后我们再查找 包名
packageName(“com.tencent.mm”)
var node1 = className("android.widget.FrameLayout").findOnce();
// log(node1);var nodeList = node1.find(packageName("com.tencent.mm"));
log(nodeList.size());nodeList.forEach((child,index) => {log(child);
});

筛选常用的四种属性:
text、desc、id、className
| 属性 | 类型 |
|---|---|
| text | 文本 |
| desc | 描述 |
| id | 标识号 |
| className | 类名 |
text()属性
var node1 = className("android.widget.FrameLayout").findOnce();
// log(node1);var nodeList = node1.find(packageName("com.tencent.mm"));
// log(nodeList.size());nodeList.forEach((child,index) => {// log(child);if(child.text()){log(child.text());}
});

desc()属性
var node1 = className("android.widget.FrameLayout").findOnce();
// log(node1);var nodeList = node1.find(packageName("com.tencent.mm"));
// log(nodeList.size());nodeList.forEach((child,index) => {// log(child);if(child.desc()){log(child.desc());}
});

id()属性
var node1 = className("android.widget.FrameLayout").findOnce();
// log(node1);var nodeList = node1.find(packageName("com.tencent.mm"));
// log(nodeList.size());nodeList.forEach((child,index) => {// log(child);if(child.id()){log(child.id());}
});

className()属性
var node1 = className("android.widget.FrameLayout").findOnce();
// log(node1);var nodeList = node1.find(packageName("com.tencent.mm"));
// log(nodeList.size());nodeList.forEach((child,index) => {// log(child);if(child.className()){log(child.className());}
});

最后
【Autox.js】VSCode 中使用插件连接手机
相关文章:
【AutoX.js】选择器 UiSelector
文章目录 原文:https://blog.c12th.cn/archives/37.html选择器 UiSelector笔记直接分析层次分析代码分析 最后 原文:https://blog.c12th.cn/archives/37.html 选择器 UiSelector 笔记 AutoX.js UiSelector 直接分析 用于简单、最直接的查找控件 开启悬…...
Elasticsearch数据写入过程
1. 写入请求 当一个写入请求(如 Index、Update 或 Delete 请求)通过REST API发送到Elasticsearch时,通常包含一个文档的内容,以及该文档的索引和ID。 2. 请求路由 协调节点:首先,请求会到达一个协调节点…...
FreeRTOS-基本介绍和移植STM32
FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操…...
在C++中,如何避免出现Bug?
C中的主要问题之一是存在大量行为未定义或对程序员来说意外的构造。我们在使用静态分析器检查各种项目时经常会遇到这些问题。但正如我们所知,最佳做法是在编译阶段尽早检测错误。让我们来看看现代C中的一些技术,这些技术不仅帮助编写简单明了的代码&…...
Linux 操作系统 进程(1)
什么是进程 想要了解什么是进程,或者说,为什么会有进程这个概念,我们就需要去了解现代计算机的设计框架(冯诺依曼体系): 计算机从设计之初就以执行程序为核心任务,也就是运算器从内存中读取,也只从内存中…...
clickhouse-v24.1-离线部署
部署版本 数据库版本:24.1.1.2048 jdk版本:jdk8 4个文件(三个ck的包): OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar clickhouse-client-24.1.1.2048.x86_64.rpm clickhouse-common-static-24.1.1.2048.x86_64.…...
安卓13删除app 链接库警告弹窗Detected problems with app native
总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码修改彩蛋1.前言 有些客户的APP,打开首次会弹窗提示窗口, Detected problems with app native libraries (please consult log for detail):,需要删除这个窗口,避免挡住用户APP。而且这个提示有些app是以t…...
第四次北漂----挣个独立游戏的素材钱
第四次北漂,在智联招聘上,有个小公司主动和我联系。面试了下,决定入职了,osg/osgearth的。月薪两万一。 大跌眼镜的是,我入职后,第一天的工作内容就是接手他的工作,三天后他就离职了。 我之所以…...
漫谈设计模式 [12]:模板方法模式
引导性开场 菜鸟:老大,我最近在做一个项目,遇到了点麻烦。我们有很多相似的操作流程,但每个流程的细节又有些不同。我写了很多重复的代码,感觉很乱。你有啥好办法吗? 老鸟:嗯,听起…...
CSS学习10[重点]--浮动、浮动的效果以及内幕特性
CSS布局——浮动 前言一、普通流二、浮动三、什么是浮动?四、浮动的内幕特性总结 前言 CSS盒子布具的三种机制:普通流(标准流)、定位、浮动。 一、普通流 普通流:网页内元素自上而下,从左到右排序。 二、浮动 浮动…...
matlab基本语法
基本语法 变量命名规则 区分大小写长度不超过63位字母开头,可以有字母、下划线和数字组成,但不能使用标点应该简洁明了 命令行窗口 >>>clc 清楚命令窗口 >>> claer all 清理工作区内容 注释 %% 注释符 数据类型 1.数字 11 2…...
【Leetcode152】乘积最大子数组(动态规划)
文章目录 一、题目二、思路三、代码 一、题目 二、思路 (0)读懂题意:题目的“连续”是指位置的连续,而不是说数字的连续,这是个大坑。 (1)确定状态:定义两个状态来记录当前子数组的…...
STM32(十二):DMA直接存储器存取
DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源。(运行内存SRAM、程序存储器Flash、寄存器) 12个独立可配置的通道&…...
关于我2020年7月至今(2024.9)的“炒股”经历和感受
声明:我远不是一个成熟的投资者(这个名词太大了,我那三瓜两枣似乎完全配不上投资者这三个字,或者“小小散”更加贴切)。本文不构成任何入(股)市的引导或者买卖股票的建议。 “炒股”这个词,相信绝大多数人看来都-是一个贬义词&…...
【Tools】Prompt Engineering简介
摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样 🎵 方芳《摇太阳》 大模型中的Prompt Engineering是指为了提高大模型在特定任…...
多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信
目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds 总结 fd_set操作接口 timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充 获取新连接 注意点 -- 通信时的调用函数 添…...
乐鑫安全制造全流程
主要参考资料: 【乐鑫全球开发者大会】DevCon24 #10 |乐鑫安全制造全流程 乐鑫官方文档Flash加密: https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/security/flash-encryption.html 【ESP32S3】使用 Flash 下载工具完成 Flash 加密功能…...
〖open-mmlab: MMDetection〗解析文件:configs/_base_/schedules
详细解析三个训练调度文件:schedule_1x.py、schedule_2x.py、schedule_20e.py 在深度学习模型训练过程中,训练调度(Training Schedule)是至关重要的,它决定了模型训练过程中学习率(Learning Rate, LR&…...
Android之Handler是如何保证延迟发送的
目录 核心组件延迟发送消息的工作原理具体步骤1. 创建 Handler:2.发送延迟消息3.消息入队列4.消息出队和处理: 关键点总结 在 Android 中,Handler 是用于在不同线程之间传递和处理消息的工具。它可以用于定时任务、延迟执行任务等。Handler 如何保证延迟发送消息的核…...
定位信标、基站、标签,定位信标是什么
定位信标、基站、标签,定位信标是什么 今天给各位分享定位信标、基站、标签的知识,其中也会对定位信标是什么进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 怎样做人员定位啊? 〖…...
企业团队如何利用Taotoken CLI工具统一配置开发环境与API密钥
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业团队如何利用Taotoken CLI工具统一配置开发环境与API密钥 在团队协作开发中,一个常见的问题是API密钥的管理与开发…...
G-Helper完整指南:轻量级华硕笔记本控制工具,开源替代Armoury Crate的明智之选
G-Helper完整指南:轻量级华硕笔记本控制工具,开源替代Armoury Crate的明智之选 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, S…...
【限时公开】ChatGPT演讲稿写作的“三秒钩子公式”:前3秒抓住注意力,已助867位技术管理者拿下关键汇报
更多请点击: https://intelliparadigm.com 第一章:【限时公开】ChatGPT演讲稿写作的“三秒钩子公式”:前3秒抓住注意力,已助867位技术管理者拿下关键汇报 在技术汇报场景中,听众平均注意力窗口仅剩2.8秒——这是微软研…...
高斯过程回归与离散变分原理:数据驱动的物理结构发现
1. 项目概述:当高斯过程回归遇见离散变分原理在物理信息机器学习这个交叉领域,我们常常面临一个核心挑战:如何从有限的、可能带有噪声的观测数据中,不仅还原出物理系统的动态,还能揭示其背后深刻的数学结构?…...
【2026必藏】6款智能降AI率软件全揭秘,一键把AI检测率精准控到安全区!
步入 2026 年,学术界的风向早已悄然转变。曾经只需担心查重率的焦虑,如今已经被更严苛的 AI 检测标准彻底覆盖。各大高校的审核系统不断迭代升级,AI 痕迹的识别能力越来越强,连最细微的语言风格都逃不过算法的审视。单靠改写句子、…...
2026年度最新主流AI写作辅助软件综合排行
本次测评结合综合运行性能、学术场景匹配度、用户实际口碑与功能完备程度,对2026年市面上热门AI论文辅助工具开展综合排序,依照综合推荐分值由高至低排列,同时逐一介绍每款工具的核心优势、特色亮点以及适合的使用场景。第一梯队:…...
开源热物理计算库CoolProp:工程计算与科研分析的强大引擎
开源热物理计算库CoolProp:工程计算与科研分析的强大引擎 【免费下载链接】CoolProp Thermophysical properties for the masses 项目地址: https://gitcode.com/gh_mirrors/co/CoolProp CoolProp是一款开源免费的热物理性质计算库,为工程师、科研…...
如何在3分钟内免费快速激活Windows和Office?开源KMS激活工具终极指南
如何在3分钟内免费快速激活Windows和Office?开源KMS激活工具终极指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否厌倦了Windows系统未激活的水印?Office软件频…...
【ChatGPT移动端实战指南】:20年AI工程师亲测的5大隐藏技巧,90%用户从未用过
更多请点击: https://intelliparadigm.com 第一章:ChatGPT移动端使用体验 在 iOS 和 Android 平台上,官方 ChatGPT 应用已全面支持语音输入、多轮上下文保持与离线提示缓存,显著优化了通勤、会议间隙等碎片化场景下的交互效率。…...
3个步骤解锁《塞尔达传说:旷野之息》终极存档编辑器
3个步骤解锁《塞尔达传说:旷野之息》终极存档编辑器 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 想象一下,当你在海拉鲁大陆冒险时&…...
