马上注册,解锁更多高级玩法
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1.选择器
选择器是一个查找条件
就像你在百度中,打字写入关键字,可以写入多个关键字
[JavaScript] 纯文本查看 复制代码 //单个条件
id("xxxxx")
//多个条件
id("xxxxx").text("xxxxx")
条件写入后,需要一个查找动作
getOneNodeInfo/getNodeInfo就是这个查找动作
getOneNodeInfo只保留第一个返回结果,也就是节点对象,
getNodeInfo保留所有返回结果,也就是节点对象数组
2.节点对象
节点对象是查找结果
通过结果,我们可以点击,输入等操作
2.1.单个节点处理 getOneNodeInfo[JavaScript] 纯文本查看 复制代码 let node = id("xxxxx").getOneNodeInfo(0)
if (node) {
node.click()
sleep(1000)
node.inputText("123")
sleep(1000)
}
也可以通过节点对象的属性,拿到我们想要的数据,如
[JavaScript] 纯文本查看 复制代码 let node = id("xxxxx").getOneNodeInfo(0)
if (node) {
logd(node.text)
logd(JSON.stringify(node.bounds))
logd(node.bounds.top)
}
2.2.多个节点处理 getNodeInfo
[JavaScript] 纯文本查看 复制代码 let nodes = id("xxxxx").getNodeInfo(0)
if (nodes) {
for (let i = 0; i < nodes.length; i++) {
nodes[i].click()
sleep(1000)
nodes[i].inputText("sdffdsdf")
sleep(1000)
}
}
[JavaScript] 纯文本查看 复制代码 let nodes = id("xxxxx").getNodeInfo(0)
if (nodes) {
for (let i = 0; i < nodes.length; i++) {
logd(nodes[i].text)
logd(JSON.stringify(nodes[i].bounds))
logd(nodes[i].bounds.top)
}
}
2.3.操作多个相似节点中的第二个节点
[JavaScript] 纯文本查看 复制代码 let nodes = id("xxxxx").getNodeInfo(0)
//判断找到节点,并且找到节点个数大于你要操作的节点位置
if (nodes && nodes.length > 1) {
logd(nodes[1].text)
logd(JSON.stringify(nodes[1].bounds))
logd(nodes[1].bounds.top)
nodes[1].click()
sleep(1000)
nodes[1].inputText("123")
}
3.快捷方式操作选择器
有些方法,可以快捷操作选择器,比如点击,输入
[JavaScript] 纯文本查看 复制代码 let selector = id("xxxxxx")
click(selector)
inputText(selector, "123")
此方法可以少写很多代码,但并不推荐
此方法内部也是封装了一个getOneNodeInfo类似的函数实现
但当你找不到节点时,并没有任何提示(返回值不可信)
会导致业务逻辑不够健壮
且会自动选择第一个找到的节点,如存在多个相同节点,无法指定精确的节点进行点击
|