使用冰狐智能辅助实现找图(findImage)

我们在编写自动化脚本过程中,经常会发现,一个控件即没有text也没有id,有时甚至连控件也没有,可能就是一张图片。如果要点击的话如何实现呢,此时就可以使用找图来实现,典型的场景,比如做游戏辅助过程中,游戏界面一般没有标准控件,全部是图片,此时就可以使用找图来实现。

实现找图一般需要两步:

1.抠图(截图)。把待识别的区域截图保存下来,可以直接使用冰狐智能辅助的远程控制功能,直接截图,非常方便。

2.调用findImage来实现找图功能。

在当前UI界面中寻找指定的图片,返回找到图片的左上角坐标point,用point.x和point.y表示(屏幕坐标),若找不到图,则返回的坐标为负值比如:(-1, -1)。注意:第一次调用前必须先申请截屏权限。 

findImage的参数如下:

参数名 类型 默认值 说明
imageFileName string 必填 带路径的图片文件名。注意:支持assets文件,例:findImage('asset:template.png');(可以在定制App打包时将图片打包到app的assets中)。
region array 选填 识别区域[left, top, width, height],若取值在[0, 1]之间表示比例,例:0.5表示left位于屏幕x轴中点;若取值大于1表示像素值。
threshold float 选填 用于确定图片识别是否成功的阈值,取值范围[1, 100],默认值10(可以取小数值),值越小则要求的匹配度越高。

demo代码如下:

例子:
function main() {
    requestScreenShot();

    var point = findImage('/sdcard/template.jpg');
    // var point = findImage('asset:img.png', [10, 10, 300, 100]);
    if (point) {
       console.log('find success x:', point.x, ' y:', point.y);
    } else {
        console.log('find image failed');
    }
}

你可能感兴趣的:(javascript,自动化脚本,app自动化)