极奇策RPA技术教程:对象是否存在 (NodeHasAttrOrIn) - 自动化开发与配置详细指南

对象是否存在
📖 节点概述
通用的成员存在性检测器,支持三种常见的检查模式:字典中是否存在某个键、列表/元组/字符串中是否包含某个元素、对象是否拥有某个属性。通过下拉框切换模式,一个节点即可适应多种“是否存在”的判断场景。支持纯数据模式和执行流分支模式。
💡 使用场景:
- 字典安全取值:在读取配置字典前,先检查键是否存在,避免因键缺失导致获取到
None或报错。 - 列表去重判断:在向列表追加元素前,检查元素是否已存在,避免重复添加。
- 对象能力探测:检查某个对象是否具备指定的属性或方法(如文件对象是否有
read方法),再决定如何操作。 - 字符串子串匹配:判断一段文本中是否包含关键词,触发不同处理逻辑。
🎮 实战连线指南:如何正确使用它?
节点有两个输入引脚:对象 是要检测的目标容器或对象,键/属性 是要查找的键名、元素或属性名。检查类型 下拉框决定具体的检查方式。
场景案例:在访问字典前验证键是否存在
- 准备数据:通过【变量获取】节点读取配置字典
config。 - 连接判断:
- 将
config连接到【对象是否存在】的对象输入。 - 使用【字符串】常量节点,内容为
"api_url",连接到键/属性输入。
- 将
- 设置检查类型:在下拉框中选择
字典键是否存在。 - 选择模式:
- 数据模式(默认):将
结果连接到【条件分支】的条件引脚。True→ 使用【获取字典键值】读取该键;False→ 使用默认 URL 或报错。 - 执行模式:勾选“作为执行节点”,将流程的
Exec连入该节点,是出口连接读取键值的逻辑,否出口连接错误处理。
- 数据模式(默认):将
- 执行:
config中存在"api_url"时正常读取;不存在时走容错分支。
⚙️ 引脚与参数说明
⚙️ 控件参数
| 控件名称 | 类型 | 说明 |
|---|---|---|
| 检查类型 | 下拉选择 | 三种模式:<br>• 字典键是否存在:检查 对象(dict)是否包含 键/属性 指定的键。<br>• 列表/元组/字符串包含:检查 对象(list/tuple/str)是否包含 键/属性 指定的元素或子串。<br>• 对象属性存在 (hasattr):检查 对象 是否有 键/属性 指定的属性或方法。 |
| 作为执行节点 | 开关 | 关闭时为数据模式,输出布尔结果;开启后切换为执行模式,出现 Exec 输入和两个执行分支。 |
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| Exec | EXEC | (执行模式专有)控制流入口。 |
| 对象 | ANY | 要检查的目标对象、容器或字符串。 |
| 键/属性 | STRING | 要查找的键名、元素值或属性名,会自动转为字符串。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 结果 | BOOL | (数据模式)如果存在,返回True,否则 False。 |
| 是 | EXEC | (执行模式)存在时触发此分支。 |
| 否 | EXEC | (执行模式)不存在时触发此分支。 |
💎 小贴士:
- 检查类型为“列表包含”时,
对象必须是列表、元组或字符串,否则返回False。对于字符串,会判断键/属性是否为子串。hasattr检查可用于探测节点或自定义对象的属性/方法,如检查文件对象是否有close方法。- 执行模式下,
是和否两个分支互斥,每次执行只会触发其中一个。
这篇文档对您有帮助吗?
您的反馈将帮助我们持续优化文档内容

