Mr_老冷 发表于 2023-2-20 17:57:03

【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






esoman 发表于 2023-2-20 18:16:39

已读不回

q2845821496 发表于 2023-2-20 18:42:08

学习一下

c479360791 发表于 2023-2-21 14:06:40

6666666666666666666666666666

hanhao516 发表于 2023-2-22 21:15:04

学习学习

123ak1 发表于 2023-2-23 21:54:39

已阅   看看啊

green550 发表于 2023-2-24 02:22:32

学习一下哦~

python 发表于 2023-2-28 08:28:23

过来学习,以后就用EasyClick,希望EasyClick越来越好

平哥哥 发表于 2023-3-22 16:57:59

选择器和节点对象的区别

shileilei 发表于 2023-4-18 04:16:29

正好需要!!!
页: [1] 2
查看完整版本: 【EasyClick】选择器和节点对象的区别和用法详解