刘小帅

autojs第十一次 滑动页面遍历控件
//滑动页面遍历控件并点击 className ("android.support.v7.widge...
扫描右侧二维码阅读全文
30
2020/01

autojs第十一次 滑动页面遍历控件

//滑动页面遍历控件并点击


className ("android.support.v7.widget.RecyclerView").scrollForward() //前滑 如果控件可以向右和向下滑动 那么执行是未知的
className ("android.support.v7.widget.RecyclerView").scrollBackward() //后滑 如果控件可以向右和向下滑动 那么执行是未知的

className ("ListView").scrollForward()
className ("ListView").scrollBackward() //另一种容器


/*遍历控件并执行操作  不同于findOne(); find()函数会找出所有满足条件的控件,
并返回一个控件集合,之后可以对控件集合进行操作. */

//length属性  返回数组中元素的数目

//示例
var u=id("fca").find()  //找到所有包含fca元素的控件
log(u);



//示例
var u=id("fca").find()  //找到所有包含fca元素的控件
var e =u.length //获取当前页面符合条件的控件数量
log(e)

for (var i=1;i<e;i++){
    var tv=u[i]; //表示第几个控件
    if(tv){
            
        var tr=tv.bounds() //获取坐标位置
        click(tr.centerX(),tr.centerY());
        sleep(2500)
        log("点击了"+i+"次");
        back();
        sleep(1500)

    }
}




//示例

var u=id("fca").find()  //找到所有包含fca元素的控件
var e =u.length //获取当前页面符合条件的控件数量
log(e)


for (var r=0;r<3;r++){

    for (var i=1;i<e;i++){
        var tv=u[i]; //表示第几个控件
        
        if(tv){
                
            var tr=tv.bounds() //获取坐标位置
            click(tr.centerX(),tr.centerY());
            sleep(2500)
            log("点击了"+i+"次");
            back();
            sleep(1500)
    
        }
    }
    className ("android.support.v7.widget.RecyclerView").scrollForward(); //前滑 如果控件可以向右和向下滑动 那么执行是未知的
    sleep(3500)

}


Last modification:January 30th, 2020 at 12:52 pm
If you think my article is useful to you, please feel free to appreciate

2 comments

  1. kinopop

    TypeError: Cannot call property length in object com.stardust.automator.UiObjectCollection@83c449. It is not a function, it is "number".

    1. 刘小帅
      @kinopop

      根据实际情况改

Leave a Comment