获取树节点

检索树形视图菜单的节点列表。

命令可用性: 本地 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."