选择器

选择器对象

选择器对象是支持级联选择,可以在无法直接选择到元素的时候,先通过选择父级后再选择子级
选择器部分支撑正则匹配,请参考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();