基础知识
控件(Widget)
- 控件(Widget)的概念类似于DOM中的元素对象
- 手机屏幕上显示的整个页面就是由很多不同的控件组成的
常见的控件:
TextView
显示文字(“android.widget.TextView”)
ImageView
显示图片(“android.widget.ImageView”)
EditText
输入框
Button
按钮,可附带图片
CheckBox
复选框 - 每个控件有其属性,例如:
className
类名,表示控件类型(“android.widget.TextView”等)
packageName
包名,表示控件所在的应用包(“com.tencent.mobileqq”)
clickable
控件是否可点击
editable
控件是否可编辑
longClickable
控件是否可长按
bounds
控件在屏幕上的范围,当控件无法点击,用这个属性获取坐标
checkable
控件是否可勾选
checked
控件是否可已勾选
scrollable
控件是否可滑动
selected
控件是否已选择
visibleToUser
控件是否可见
enabled
控件是否已启用
depth
控件的布局深度
drawingOrder
控件在父控件的绘制顺序。
indexInParent
控件在父控件的位置
使用Auto.js软件,在悬浮窗的“布局范围分析”中可以选择屏幕上的控件,并查看其各项属性的值
常用函数
以下介绍一些编写脚本时常用的代码,更多见Auto.js文档官方文档
sleep(n)
暂停运行n毫秒,常见的情况是,软件的运行速度“跟不上”脚本,因此需要一定时间的等待(尤其是需要点击的控件以滑动的方式进入,若不等待可能点击不到)toast(message)
显示气泡信息log(message)
在控制台中输出信息toastLog(message)
上面两个函数的合体exit()
立即停止脚本运行
currentPackage()
是当前正在运行的应用的包名waitForPackage(package[, period = 200])
等待指定的应用出现,period 轮询等待间隔(毫秒)currentActivity()
当前正在运行的Activity的名称waitForActivity(activity[, period = 200])
等待指定的Activity出现waitFor()
等待某物出现
例如,代码第一句一般为auto.waitFor()
,检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍界面,并等待无障碍服务启动
又例如,要等待某个文本为“发送”的控件出现,代码为text("发送").waitFor();
exists()
判断当前屏幕上是否存在某控件ÿ