| 
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类似的函数实现
 但当你找不到节点时,并没有任何提示(返回值不可信)
 会导致业务逻辑不够健壮
 且会自动选择第一个找到的节点,如存在多个相同节点,无法指定精确的节点进行点击
 
 
 
 
 
 
 
 
 
 
 |