侧边栏壁纸
  • 累计撰写 2,058 篇文章
  • 累计创建 73 个标签
  • 累计收到 20 条评论

目 录CONTENT

文章目录

Autoxjs常用的函数和查找控件的基本思路

大猿本猿
2023-08-09 / 1,508 阅读 / 659 字

Autoxjs常用的函数

  1. auto.waitFor() 表示直到检查该应用开启无障碍后才执行其后面的代码,否则一直卡在这里,一般放到脚本的第一行
  2. launchApp() 可以打开对应应用,由于不同手机响应速度不同,本代码让它睡眠3s。
  3. 定位组件是autojs的最常见的操作,这很类似前端的定位dom元素。在任何点击之前都需要找到对应的组件,这不同于点击某像素位置,点击组件更能适配不同分辨率的手机。
  4. auto.js 中通过各种条件选取到的控件称为UiSelector。那么筛选条件是如何确定呢?打开Auto.js应用的悬浮窗,在喵铺主页,点击Auto.js悬浮窗后选择出现的蓝色按钮,点击布局范围分析后选择领喵币按钮查看控件信息,你就能看到如图2所示的信息。
  5. click() 表示点击该元素。
  6. toast() 表示展示一个消息框。
  7. gesture 是指屏幕滑动操作,这是本文唯一涉及屏幕像素的语句。gesture(duration, [x1, y1], [x2, y2]表示用duration的时间,从(x1,y1)点滑到(x2,y2)点,代码中表示如图用1s从黄点滑向红点,故是上滑操作浏览广告。
  8. back() 模拟返回键返回值任务栏页面。

Autoxjs查找控件的基本思路

  1. depth-desc-id-classname等控件的常规的唯一属性
  2. findone.parent().child(xx)等控件的父子依存顺序关系
  3. 最后实在无法确定可用坐标法bounds,click(x,y)操作控件

Autoxjs查找定位方式

1、选择器筛选条件:组件的大多数属性都可以筛选。通过链式组合调用可以定位到到元素.

//关闭任务栏按钮X
className("android.widget.Button").depth(18).indexInParent(1).findOnce();

2、定位选择器:findOnce()表示找到第一个满足条件的控件,找不到返回null;另外还有findOne(),findOne(time)等方法。findOne()如果没找到匹配的组件会一直找,直至所描述的控件出现为止,故该函数不会返回null,找不到可能会卡在这里,所以谨慎使用。

3、click():当定位的元素的clickable属性为true时,才可以点击,当某控件的clickable为false,那说明此控件不能点,可能是需要点击它的子/父控件。

Autoxjs常用的函数和查找控件的基本思路