当前位置: 首页 > news >正文

【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);
});

请添加图片描述

筛选常用的四种属性: textdescidclassName

属性类型
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 中使用插件连接手机


http://www.lryc.cn/news/433398.html

相关文章:

  • Elasticsearch数据写入过程
  • FreeRTOS-基本介绍和移植STM32
  • 在C++中,如何避免出现Bug?
  • Linux 操作系统 进程(1)
  • clickhouse-v24.1-离线部署
  • 安卓13删除app 链接库警告弹窗Detected problems with app native
  • 第四次北漂----挣个独立游戏的素材钱
  • 漫谈设计模式 [12]:模板方法模式
  • CSS学习10[重点]--浮动、浮动的效果以及内幕特性
  • matlab基本语法
  • 【Leetcode152】乘积最大子数组(动态规划)
  • STM32(十二):DMA直接存储器存取
  • 关于我2020年7月至今(2024.9)的“炒股”经历和感受
  • 【Tools】Prompt Engineering简介
  • 多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信
  • 乐鑫安全制造全流程
  • 〖open-mmlab: MMDetection〗解析文件:configs/_base_/schedules
  • Android之Handler是如何保证延迟发送的
  • 定位信标、基站、标签,定位信标是什么
  • 2024国赛数学建模B题完整分析参考论文38页(含模型和可运行代码)
  • Hive是什么?
  • 计算机网络:http协议
  • 【stata】自写命令分享dynamic_est,一键生成dynamic effect
  • 文心一言 VS 讯飞星火 VS chatgpt (342)-- 算法导论23.2 1题
  • 部署若依Spring boot项目
  • oc打包:权限弹窗无法正常弹出
  • 深入理解RxJava:响应式编程的现代方式
  • Maven 依赖漏洞扫描检查插件 dependency-check-maven 的使用
  • 2. 下载rknn-toolkit2项目
  • xhr、ajax、axois、fetch的区别