经常有人问怎么做无视分辨率的脚本,我个人是习惯使用图色命令,所以我做的脚本是无法支持全部分辨率的。
如果非要做全分辨率的,我一般提供的思路就是获取xml码,然后从xml里面提取node(节点)坐标。
我们先来看一下效果:
上面动态图片当中,我通过修改要点击的文字,实现了打开app的操作,整个过程没有用到找图或者找色命令。
简单介绍一下原理:
1.获取当前界面的xml码:
我把xml复制出来放入了文本当中,就是下面的样子,看起来挺复杂。
2.我们单独提取出一个node节点分析一下。
里面我们主要看两个,一是text=”微信”,二是bounds=”[360,551][480,675]”
这2个的意思是,节点的文本内容是微信,节点的范围坐标,左上角坐标是[360,551],右下角坐标是[480,675]
利用这两点,我在编写代码的时候,先获取文本内容是微信的node节点,然后再获取对于bounds的坐标,之后点击这个坐标即可打开对应的app。
我提取坐标的方法是截取法,在我的基础课已经讲过了,这里我就不在讲解了,大家可以直接用这段代码。
除了这个方法以外,山海插件还有提取xml节点内容的命令,也可以直接使用,具体的大家自己去论坛看命令介绍。
需要注意一点,不是所有的界面都能够提取到xml码,这样导致它的使用也是有局限性的,如果发现无法点击的情况,可以单独测试一下是不是获取xml失败了。