主页 > 网络教程 > Autojs进阶 > 复杂控件万能判断点击函数

推荐服务

Autojs尊享学员培训服务

Autojs尊享学员培训服务

编号: S83   浏览: 2911

Autojs免Root脚本定制服务

Autojs免Root脚本定制服务

编号: S84   浏览: 6152

推荐工具

千若微信养号辅助工具

千若微信养号辅助工具

编号: S1   浏览: 2788

织梦dedeCMS评论插件免费修复版

织梦dedeCMS评论插件免费修复版

编号: S2   浏览: 2983

复杂控件万能判断点击函数

浏览: 次     责任编辑: Dawolf


//订阅号控件本体随机坐标点击函数
function 订阅号浏览控件点击(dshuxing, dzhi, dname) {
    var min = desc("搜索").findOnce();
    if (min != null) {
        var miny = min.bounds().bottom;
        var max = text("通讯录").findOnce();
        if (max != null) {
            var maxy = max.parent().bounds().top;
            var a = dshuxing(dzhi).boundsInside(0, miny, device.width, device.height - 1).findOnce();//-1是因为在屏幕最下方会有很多预存控件
            if (a != null) {
                var x1 = a.bounds().left;
                var x2 = a.bounds().right;
                var y1 = a.bounds().top;
                var y2 = a.bounds().bottom;
                var x = random(Math.floor(x1 + 1), Math.floor(x2 - 1));
                var y = random(Math.floor(y1 + 1), Math.floor(y2 - 1));
                log("点击位置" + x, y);
                var timedelay = random(50, 150);
                toastLog("点击 [" + dname + "]");
                缺省间隔();
                press(x, y, timedelay);
                缺省间隔();
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    } else {
        return false;
    }
}


我们经常遇到需要在一定范围内查找控件的情况,为了增加脚本在不同手机的兼容性,我们不想使用坐标值来限定查找范围,但是我们可以通过查找范围的边缘控件来限定,上面函数中,desc("搜索")控件的底部刚好是我们需要查找范围的顶部,而text("通讯录")控件的顶部刚好是查找范围的底部,因而获取到这两个控件的底部及顶部,再通过boundsInside语句限定查找范围,即可实现在我们想要的范围内查找控件。


我们看到,找到控件后会return true,否则会return false,这就可以实现很多拓展,比如:如果找到符合条件的控件,可以执行一些操作,否则可以上划屏幕,进行继续查找等等...

while (true) {
    if (订阅号浏览控件点击(text, "订阅号消息", "订阅号消息")) {
         //一些操作
         break;
   }else{
         //上划屏幕
   }
}


版权保护: 本文由[ 千若网络 ]编辑,如需转载敬请保留本文链接: http://www.sss.top/jc/autojsjj/92.html