获取树节点
检索树形视图菜单的节点列表。
命令可用性: 本地 IBM RPA SaaS 和 IBM RPA
描述
树形视图菜单 (也称为树形菜单或分层菜单) 是图形用户界面 (GUI) 元素,用于显示菜单项的分层列表或树形结构。 树形菜单中的每个项都可以有一个或多个子项,这些子项本身可以有子项,从而创建嵌套或分层结构。
检索包含树形视图菜单的节点列表使您能够以编程方式与树的每个节点进行交互。
脚本语法
IBM RPA 的专有脚本语言的语法与其他编程语言类似。 该脚本语法在脚本文件中定义命令的语法。 您可以在 IBM RPA Studio的 脚本 方式下使用此语法。
getTreeNodes --path(String) [--forcerefresh(Boolean)] --selector(ControlSelectors) --id(String) --name(String) --innertext(String) --tagname(String) --xpath(String) --classname(String) --elementvalue(String) --controltype(Nullable<ControlTypes>) --index(Numeric) --control(Control) [--usetable(Boolean)] [--searchbycolumn(Boolean)] --searchcolumn(String) --searchvalue(String) --returncolumn(String) --row(Numeric) [--timeout(TimeSpan)] (List<String>)=value
输入参数
下表显示了此命令中提供的输入参数的列表。 在表中,您可以看到在 IBM RPA Studio的脚本方式及其 Designer 方式等效标签中工作时的参数名称。
| 设计器方式标签 | 脚本方式名称 | 必需的 | 接受的变量类型 | 描述 |
|---|---|---|---|---|
| 路径 | path |
Required |
Text |
要从中检索子节点的节点的路径。 路径从根元素开始,跟随层次结构向下到目标节点。 |
| 更新屏幕高速缓存 | forcerefresh |
Optional |
Boolean |
启用以在执行前刷新屏幕,从而允许命令识别任何新元素并更新屏幕高速缓存。 |
| 选择器 | selector |
Required |
ControlSelectors |
用于标识用户界面控件的选择器类型。 请参阅 selector 参数选项 以获取更多详细信息。提示:您可以使用 IBM RPA Studio的记录器工具 来映射控件并获取此参数的所有必需数据。
|
| 标识 | id |
Required when selector is Id, IdAndName |
Text |
从中检索树节点的菜单项的标识。 |
| 名称 | name |
Required when selector is Name, NameAndValue, IdAndName |
Text |
从中检索树节点的菜单项的名称。 |
| 文本 | innertext |
Required when selector is InnerTextAndTag |
Text |
从中检索树节点的菜单项的内部文本。 |
| 控件名称 | tagname |
Required when selector is InnerTextAndTag |
Text |
从中检索树节点的菜单项的名称。 |
| XPath | xpath |
Required when selector is Xpath |
Text |
指向从中检索树节点的控件的 XPath。 |
| 类 | classname |
Required when selector is ClassandValue, ClassName |
Text |
从中获取树节点的菜单项的类。 |
| 控件值 | elementvalue |
Required when selector is ClassandValue, NameAndValue |
Text |
从中检索树节点的菜单项的值。 |
| 类型 | controltype |
Required when selector is TypeandIndex, TypeandName |
ControlTypes |
从中检索树节点的控件类型。 请参阅 controltype 参数选项 以获取更多详细信息。 |
| 索引 | index |
Required when selector is typeandindex |
Number |
从中检索树节点的控制索引。 |
| 控制 | control |
Required when selector is control |
Control |
控制实例。 ✪ 提示: 使用 搜索控制 ( searchcontrol) 命令来获取控制实例。 |
| 表中的元素 | usetable |
Optional |
Boolean |
启用以在按列或行搜索的表中查找元素。 |
| 按列搜索 | searchbycolumn |
Optional |
Boolean |
启用以按列而不是按行搜索表中的元素。 |
| 列 | searchcolumn |
Required when usetable is true |
Text |
包含元素的表列的名称或值。 |
| 值 | searchvalue |
Required when the searchbycolumn is true |
Text |
用于在表中查找元素的值。 |
| 返回列 | returncolumn |
Required when searchbycolumn is true |
Text |
包含元素的列。 |
| 行 | row |
Required when searchbycolumn is false |
Number |
将查找元素的表行。 |
| Timeout | timeout |
Optional |
Time Span, Number, Text |
命令执行超时。 |
selector 参数选项
下表显示了可用于 selector 输入参数的选项。 该表显示了在脚本方式下工作时的可用选项以及在设计器方式下的等效标签。
| 设计器方式标签 | 脚本方式名称 | 描述 |
|---|---|---|
| 标识 | Id |
它与控件的唯一标识匹配。 |
| 名称 | Name |
它与控件名称匹配。 |
| 名称和值 | NameAndValue |
它与控件名称和值匹配。 |
| XPath | XPath |
它与要检索节点的树菜单中根元素的 XPath 相匹配。 |
| 标识和名称 | IdAndName |
它与唯一标识和控件名称匹配。 |
| 类和值 | ClassandValue |
它与控件类名和值匹配。 |
| 类名 | ClassName |
它与用于实例化控件的类名匹配。 |
| 内部文本和控件类型 | InnerTextAndTag |
它与控件内部文本及其类型属性匹配。 |
| 实例 | instance |
它与控件实例匹配。 |
| 视觉 | vision |
它与标识控件的映射图像匹配。 |
| 类型和索引 | typeandindex |
它与控件类型及其在同等类型控件中的位置索引相匹配。 |
| 类型和名称 | TypeandName |
它与控件类型和名称匹配。 |
controltype 参数选项
下表显示了可用于 ControlTypes 输入参数的选项。 该表显示了在脚本方式下工作时的可用选项以及在设计器方式下的等效标签。
| 设计器方式标签 | 脚本方式名称 | 描述 |
|---|---|---|
| 按钮 | Button |
它与应用程序中的“按钮”控件匹配。 |
| 复选框 | CheckBox |
它与应用程序中的“复选框”控件匹配。 |
| 子窗口 | ChildWindow |
它与应用程序中的“子窗口”控件匹配。 |
| 组合框 | ComboBox |
它与应用程序中的“组合框”控件匹配。 |
| 常规 | Generic |
它与应用程序中的“常规”控件匹配。 |
| 图片 | Image |
它与应用程序中的“图像”控件匹配。 |
| 标签 | Label |
它与应用程序中的“标签”控件匹配。 |
| 列表框 | ListBox |
它与应用程序中的“列表框”控件匹配。 |
| 菜单栏 | MenuBar |
它与应用程序中的“菜单栏”控件匹配。 |
| 菜单项 | MenuItem |
它与应用程序中的“菜单项”控件匹配。 |
| 进度条 | ProgressBar |
它与应用程序中的“进度条”控件匹配。 |
| 单选按钮 | RadioButton |
它与应用程序中的“单选按钮”控件匹配。 |
| 滚动条 | ScrollBar |
它与应用程序中的“滚动条”控件匹配。 |
| 滑块 | Slider |
它与应用程序中的“滑块”控件匹配。 |
| 微调器 | Spinner |
它与应用程序中的“微调器”控件匹配。 |
| 状态栏 | StatusBar |
它与应用程序中的“状态栏”控件匹配。 |
| 选项卡页面 | TabPage |
它与应用程序中的“选项卡页面”控件匹配。 |
| 选项卡面板 | TabPanel |
它与应用程序中的“选项卡面板”控件匹配。 |
| 表 | Table |
它与应用程序中的“表”控件匹配。 |
| 文本框 | TextBox |
它与应用程序中的“文本框”控件匹配。 |
| 切换按钮 | ToggleButton |
它与应用程序中的“切换按钮”控件匹配。 |
| 树形视图 | TreeView |
它与应用程序中的“树形视图”控件匹配。 |
| TreeTable | TreeTable |
它与应用程序中的“树表”控件匹配。 |
| 窗口 | Window |
它与应用程序中的“窗口”控件匹配。 |
输出参数
| 设计器方式标签 | 脚本方式名称 | 接受的变量类型 | 描述 |
|---|---|---|---|
| 节点数 | 值 | List<String> |
返回树的已定义元素的节点。 |
示例
以下代码示例演示如何获取 Outlook 桌面应用程序的 inbox 树形视图菜单的节点。
defVar --name outlookWindow --type Window
defVar --name treeNodes --type List --innertype String
launchWindow --executablepath "C:\\\\Program Files\\\\Microsoft Office\\\\root\\\\Office16\\\\OUTLOOK.EXE" --safesearch outlookWindow=value
getTreeNodes --path "User.user@hotmail.com\r\nInbox" --forcerefresh --selector "XPath" --xpath "/root/pane[5]/pane[1]/custom[1]/pane[1]/tree[1]" --timeout "00:00:05" --comment "Gets the nodes of the \"Inbox\" element searching by the XPath of the root element." treeNodes=value
logMessage --message "${treeNodes}" --type "Info" --comment "Logs the nodes inside the \"Inbox\" element."