选择器对象
选择器对象是支持级联选择,可以在无法直接选择到元素的时候,先通过选择父级后再选择子级
选择器部分支撑正则匹配,请参考java的正则语法
text 属性选择
text(content)
全文本匹配
function main(){ //获取选择器对象 var selector = text("设置"); click(selector); } main();
textMatch(content)
正则匹配
function main(){ //获取选择器对象 var selector = textMatch(".*设置.*"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
desc 文本属性选择
desc(content)
全量匹配
function main(){ //获取选择器对象 var selector = desc("我是描述"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
descMatch(content)
正则匹配
function main(){ //获取选择器对象 var selector = descMatch(".*描述.*"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main()
id 属性选择
id(content)
全量匹配
function main(){ //获取选择器对象 var selector = id("com.xx:id/a1"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
idMatch(content)
正则匹配
function main(){ //获取选择器对象 var selector = idMatch(".*id8.*"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
className 属性选择
clz(content)
全量匹配
function main(){ //获取选择器对象 var selector = clz("android.widget.TextView"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
clzMatch(content)
正则匹配
function main(){ //获取选择器对象 var selector = clzMatch(".*TextView.*"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
packageName 属性选择
pkg(content)
全量匹配
function main(){ //获取选择器对象 var selector = pkg("com.xx"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
pkgMatch(content)
正则匹配
function main(){ //获取选择器对象 var selector = pkgMatch(".*tencent.*"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
深度和绘制顺序匹配
depth(index)
function main(){ //获取选择器对象 var selector = depth(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
drawingOrder(index)
index从1开始
function main(){ //获取选择器对象 var selector = drawingOrder(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
点击TAB
let selector = clz('androidx.appcompat.app.ActionBar$Tab').drawingOrder(1).clickable(true); logd(click(selector));
其他匹配规则
visible(true)
按照可视化属性 visible 进行匹配
@param boolean 是否可视
@return {S} 节点选择器
function main(){ var node = visible(true).getOneNodeInfo(1000); logd("node "+node); } main();
clickable(true)
function main(){ //获取选择器对象 var selector = clickable(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
checkable(true)
function main(){ //获取选择器对象 var selector = checkable(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
editable(true)
是否可输入内容
checked(true)
function main(){ //获取选择器对象 var selector = checked(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
longClickable(true)
function main(){ //获取选择器对象 var selector = longClickable(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
selected(true)
function main(){ //获取选择器对象 var selector = selected(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
scrollable(true)
function main(){ //获取选择器对象 var selector = scrollable(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
focusable(true)
function main(){ //获取选择器对象 var selector = focusable(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
enabled(true)
function main(){ //获取选择器对象 var selector = enabled(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
focused(true)
function main(){ //获取选择器对象 var selector = focused(true); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
index(num)
节点索引,num从0开始
function main(){ //获取选择器对象 var selector = index(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
bounds(left,top,right,bottom)
按照属性 bounds 进行范围
@param left 范围左边数值
@param top 范围上边数值
@param right 范围右边数值
@param bottom 范围底边数值
@return {S} 节点选择器
function main(){ //获取选择器对象 0 - 800以内范围内的控件 var selector = bounds(0,0,800,800); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
childCount(index)
function main(){ //获取选择器对象 var selector = childCount(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
row(index)
function main(){ //获取选择器对象 var selector = row(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
column(index)
function main(){ //获取选择器对象 var selector = column(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
rowSpan(index)
function main(){ //获取选择器对象 var selector = rowSpan(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
columnSpan(index)
function main(){ //获取选择器对象 var selector = columnSpan(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
rowCount(index)
function main(){ //获取选择器对象 var selector = rowCount(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
columnCount(index)
function main(){ //获取选择器对象 var selector = columnCount(1); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
级联匹配
function main(){ //获取选择器对象 //选择 父级为android.widget.ScrollView下的子节点clz=android.widget.CheckBox所有节点 var selector = clz("android.widget.ScrollView") .child() .clz("android.widget.CheckBox"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();
多属性匹配
function main(){ //获取选择器对象, //选择包含"选择器"并且checked=true并且类名=android.widget.CheckBox的元素 var selector = text(".*选择器.*") .checked(true) .clz("android.widget.CheckBox"); var result = click(selector); if (result) { toast("点击成功"); } else { toast("点击失败"); } } main();