Ui节点相关
javascript
const core = require('cheese-js');筛选节点:forEachNode(callback:Callback): this ✅
🔒权限: 无障碍
参数:
- ⭐
any(callback):筛选回调
返回值:
- 🟢
this:当前类对象 - 🔴null
用法示例:
javascript
//更多属性请参考代码提示
//isEditable():boolean;
//isDismissable():boolean;
//isChecked():boolean;
//isEnabled():boolean;
//isPassword():boolean;
//isScrollable():boolean;
//isGranularScrollingSupported():boolean;
//isTextSelectable():boolean;
//isImportantForAccessibility():boolean;
//isAccessibilityDataSensitive():boolean;
//getText(): string;
//getViewIdResourceName(): string;
//getWindowId(): number;
//getClassName(): string;
//getChild(i:number): AccessibilityNodeInfoCompat;
//getBoundsInWindow(outBounds:Rect);
//getBoundsInScreen(outBounds:Rect);
//getRoleDescription():string;
//getStateDescription():string;
//getContentDescription():string;
//const uinode = new core.uinode();
let u =uinode.forEachNode((e) => {
return e.getText()()==="连接"
})
if(u.size()>0){
console.log("节点存在")
console.log(u.get(0).getBounds())
}
let u1 =uinode.forEachNode((e) => {
let c = e.getBoundsInScreen()
return c.left===150 && c.top===536 && c.right===864 && c.bottom===603
})
if(u1.size()>0){
console.log("节点存在")
console.log(u1.get(0).getText())
}判断节点是否存在:size(): number ✅
🔒权限: 无障碍
返回值:
- 🟢
number:节点列表长度 - 🔴null
用法示例:
javascript
let u1 =uinode.forEachNode((e) => {
let c = e.getBoundsInScreen()
return c.left===150 && c.top===536 && c.right===864 && c.bottom===603
})
if(u1.size()>0){
console.log("节点存在")
console.log(u1.get(0).getText())
}清除节点缓存:clearNodeCache(): boolean ✅
🔒权限: 无障碍
参数:
- ⭐
any(callback):筛选回调
返回值:
- 🟢
this:当前类对象 - 🔴null
用法示例:
javascript
const uinode = new core.uinode();
uinode.clearNodeCache()获取节点父亲节点: getParent(): this ✅
🔒权限: 无障碍
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
uinode:uinode对象 - 🔴null
用法示例:
javascript
const uinode = new core.uinode();
let parent = uinode.forEachNode((e) => {
return e.getText()==="连接"
}).get(0).getParent().getText()
console.log(parent)获取节点儿子节点: getChildren(): this ✅
🔒权限: 无障碍
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
uinode:uinode对象 - 🔴null
用法示例:
javascript
const uinode = new core.uinode();
let children = uinode.forEachNode((e) => {
return e.getText()==="连接"
}).get(0).getChildren().get(0).getText()
console.log(children)获取节点text信息:getText() ✅
🔒权限: 无障碍
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
string:text内容 - 🔴null
用法示例:
javascript
const uinode = new core.uinode();
uinode.forEachNode((e) => {
return e.getText()==="连接"
}).get(0).getText()
console.log(text)获取节点范围:getBounds() ✅
🔒权限: 无障碍
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
Bounds:范围信息 - 🔴null
用法示例:
javascript
const uinode = new core.uinode();
let bounds = uinode.forEachNode((e) => {
return e.getText()==="连接"
}).get(0).getBounds()
console.log(bounds)获取节点Id:getId() ✅
🔒权限: 无障碍
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
string:id信息 - 🔴null
用法示例:
javascript
const uinode = new core.uinode();
let id = uinode.forEachNode((e) => {
return e.getText()==="连接"
}).get(0).getId()
console.log(id)获取节点PackageName:getPackageName() ✅
🔒权限: 无障碍
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
string:Pkg信息 - 🔴null
用法示例:
javascript
const uinode = new core.uinode();
let pkg = uinode.forEachNode((e) => {
return e.getText()==="连接"
}).get(0).getPackageName()
console.log(pkg)获取节点类:getClassName() ✅
🔒权限: 无障碍
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
string:Clz信息 - 🔴null
用法示例:
javascript
const uinode = new core.uinode();
let clz = uinode.forEachNode((e) => {
return e.getText()==="连接"
}).get(0).getClassName()
console.log(clz)追加文本到输入框:appendText(text) ✅
🔒权限: 无障碍
参数:
- ⭐
string(text):要输入的内容
用法示例:
javascript
let clz = uinode.forEachNode((e) => {
return e.getText()==="连接"
}).get(0).appendText("Hello")
console.log(clz)设置文本到输入框:trySetText(text) ✅
🔒权限: 无障碍
参数:
- ⭐
string(text):要输入的内容
返回值:
- 🟢
boolean: true - 🔴
boolean: false
用法示例:
javascript
let clz = uinode.forEachNode((e) => {
return e.getText()==="连接"
}).trySetText("Hello")
console.log(clz)节点尝试点击:tryClick() ✅
🔒权限: 无障碍
当此节点点击失败,会尝试向上级容器尝试
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
boolean:true - 🔴
boolean:fasle
用法示例:
javascript
const uinode = new core.uinode();
let d = uinode.forEachNode((e) => {
return e.getText()==="连接"
})
if (d.get(0).tryClick()) {
console.log("点击成功")
}节点点击:click() ✅
🔒权限: 无障碍
失败率较高
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
boolean:true - 🔴
boolean:fasle
用法示例:
javascript
const uinode = new core.uinode();
let d = uinode.forEachNode((e) => {
return e.getText()==="连接"
})
if (d.get(0).click()) {
console.log("点击成功")
}节点长按点击:longClick() ✅
🔒权限: 无障碍
失败率较高
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
boolean:true - 🔴
boolean:fasle
用法示例:
javascript
const uinode = new core.uinode();
let d = uinode.forEachNode((e) => {
return e.getText()==="连接"
})
if (d.get(0).longClick()) {
console.log("点击成功")
}尝试节点长按点击:tryLongClick() ✅
🔒权限: 无障碍
当此节点点击失败,会尝试向上级容器尝试
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
boolean:true - 🔴
boolean:fasle
用法示例:
javascript
const uinode = new core.uinode();
let d = uinode.forEachNode((e) => {
return e.getText()==="连接"
})
if (d.get(0).tryLongClick()) {
console.log("点击成功")
}双击点击节点:doubleClick() ✅
🔒权限: 无障碍
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
boolean:true - 🔴
boolean:fasle
用法示例:
javascript
const uinode = new core.uinode();
let d = uinode.forEachNode((e) => {
return e.getText()==="连接"
})
if (d.get(0).doubleClick()) {
console.log("点击成功")
}全局节点点击:globalClick() ✅
🔒权限: 无障碍
常用来点击网页节点
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
boolean:true - 🔴
boolean:fasle
用法示例:
javascript
const uinode = new core.uinode();
let d = uinode.forEachNode((e) => {
return e.getText()==="连接"
})
if (d.get(0).globalClick()) {
console.log("点击成功")
}全局长按节点:globalLongClick() ✅
🔒权限: 无障碍
常用来点击网页节点
参数:
number(value):节点在 nodeObj 数组中的索引值 不填默认为0
返回值:
- 🟢
boolean:true - 🔴
boolean:fasle
用法示例:
javascript
const uinode = new core.uinode();
let d = uinode.forEachNode((e) => {
return e.getText()==="连接"
})
if (d.get(0).globalLongClick()) {
console.log("点击成功")
}