【EasyClick】选择器和节点对象的区别和用法详解
1.选择器选择器是一个查找条件
就像你在百度中,打字写入关键字,可以写入多个关键字
//单个条件
id("xxxxx")
//多个条件
id("xxxxx").text("xxxxx")
条件写入后,需要一个查找动作
getOneNodeInfo/getNodeInfo就是这个查找动作
getOneNodeInfo只保留第一个返回结果,也就是节点对象,
getNodeInfo保留所有返回结果,也就是节点对象数组
2.节点对象
节点对象是查找结果
通过结果,我们可以点击,输入等操作
2.1.单个节点处理getOneNodeInfo let node = id("xxxxx").getOneNodeInfo(0)
if (node) {
node.click()
sleep(1000)
node.inputText("123")
sleep(1000)
}
也可以通过节点对象的属性,拿到我们想要的数据,如
let node = id("xxxxx").getOneNodeInfo(0)
if (node) {
logd(node.text)
logd(JSON.stringify(node.bounds))
logd(node.bounds.top)
}
2.2.多个节点处理getNodeInfo
let nodes = id("xxxxx").getNodeInfo(0)
if (nodes) {
for (let i = 0; i < nodes.length; i++) {
nodes.click()
sleep(1000)
nodes.inputText("sdffdsdf")
sleep(1000)
}
}
let nodes = id("xxxxx").getNodeInfo(0)
if (nodes) {
for (let i = 0; i < nodes.length; i++) {
logd(nodes.text)
logd(JSON.stringify(nodes.bounds))
logd(nodes.bounds.top)
}
}
2.3.操作多个相似节点中的第二个节点
let nodes = id("xxxxx").getNodeInfo(0)
//判断找到节点,并且找到节点个数大于你要操作的节点位置
if (nodes && nodes.length > 1) {
logd(nodes.text)
logd(JSON.stringify(nodes.bounds))
logd(nodes.bounds.top)
nodes.click()
sleep(1000)
nodes.inputText("123")
}
3.快捷方式操作选择器
有些方法,可以快捷操作选择器,比如点击,输入
let selector = id("xxxxxx")
click(selector)
inputText(selector, "123")
此方法可以少写很多代码,但并不推荐
此方法内部也是封装了一个getOneNodeInfo类似的函数实现
但当你找不到节点时,并没有任何提示(返回值不可信)
会导致业务逻辑不够健壮
且会自动选择第一个找到的节点,如存在多个相同节点,无法指定精确的节点进行点击
//player.bilibili.com/player.html?aid=723170014&bvid=BV1ES4y1f7qV&cid=487713599&page=25
已读不回 学习一下 6666666666666666666666666666 学习学习 已阅 看看啊 学习一下哦~ 过来学习,以后就用EasyClick,希望EasyClick越来越好 选择器和节点对象的区别 正好需要!!!
页:
[1]
2