- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 基于触发器的 Attended 自动化
- 录制
- 用户界面元素
- 控制流程
- 选取器
- 对象存储库
- 数据抓取
- 图像与文本自动化
- Citrix 技术自动化
- RDP 自动化
- Salesforce 自动化
- SAP 自动化
- VMware Horizon 自动化
- 日志记录
- ScreenScrapeJavaSupport 工具
- Webdriver 协议
- 测试套件 - Studio
- 扩展程序
- 故障排除
关于选取器
要自动执行用户界面中的特定操作,您需要与各种窗口、按钮、下拉列表以及许多其他元素交互。可以识别用户界面元素的一种方法是使用它们在屏幕上的位置,但这可能不可靠。
To overcome this problem, Studio uses what we call selectors. These store the attributes of a graphical user interface element and its parents, in the shape of an XML fragment.
大多数情况下,选取器是由 Studio 自动生成的,并且不需要您额外输入,特别是当您尝试自动化的应用程序具有静态用户界面时。
However, some software programs have changing layouts and attribute nodes with volatile values, such as some web-apps. Studio cannot predict these changes and, therefore, you might have to manually generate some selectors.
选取器具有以下结构:
<node_1/><node_2/>...<node_N/>
<node_1/><node_2/>...<node_N/>
最后一个节点表示您感兴趣的图形用户界面元素,而前面的所有节点都表示该元素的父元素。<node_1> 通常称为根节点,表示应用程序的顶部窗口。
每个节点都有一个或多个属性,可以帮助您正确识别所选应用程序的特定级别。
每个节点的格式如下:
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
每个属性都有一个赋值。重要的是选择具有常量值的属性。如果每次应用程序启动时,属性的值都会发生变化,则选取器将无法正确识别元素。
系统会在活动“属性”面板中的“输入”>“目标”>“选取器”下现实选取器。与图形元素相关的所有活动都具有此属性。
“选择选项”窗口用于选择和编辑目标。要访问此窗口,请在“工作流设计器”面板中单击“选项” 按钮,然后选择“在屏幕上指定目标”或“编辑目标”。
“选取器编辑器”窗口用于查看自动生成的选取器以及编辑该选取器及其属性。要访问此窗口,请使用省略号 按钮,该按钮位于“属性”面板中的“选取器”字段旁边。
选项 |
描述 |
---|---|
验证 |
该按钮通过检查选取器定义的有效性以及目标元素在屏幕上的可见性来显示选取器的状态。 验证按钮具有三种状态:
该按钮与用户界面探测器验证状态相关。 |
指出元素 |
指出一个新的用户界面元素以替换前一个。 |
修复 |
使您能够重新指定相同的目标用户界面元素并修复选取器。此操作并不完全替换以前的选取器。只有在选取器无效时,该按钮才可用。 |
高亮显示 |
将目标元素置于前台。高亮显示一直持续到该选项被单击禁用为止。仅当选取器有效时才会启用该按钮。 |
编辑属性 |
包含标识目标应用程序时所需的所有应用程序组件(窗口、按钮等)。该部分可以编辑。 |
编辑选取器 |
保存实际的选取器。该部分可以编辑。 |
在用户界面探测器中打开 |
启动用户界面探测器。该选项仅对有效的选取器启用。 |
下表列出了用于构建选取器和选取器功能的标记和属性之间的兼容性:
属性 |
模糊 |
正则表达式 |
区分大小写 |
---|---|---|---|
app |
|
|
|
cls |
|
|
|
title |
|
|
|
aaname |
|
|
|
ctrlname (WinForms) |
|
|
|
ctrlid (WinForms) |
|
|
|
idx |
|
|
|
tid |
|
|
|
pid |
|
|
|
isremoteapp |
|
|
|
aastate |
|
|
|
sapClient (SAP) |
|
|
|
sapLanguage (SAP) |
|
|
|
sapProgram (SAP) |
|
|
|
sapScreen (SAP) |
|
|
|
sapSession (SAP) |
|
|
|
sapSysName (SAP) |
|
|
|
sap 系统编号 (SAP) |
|
|
|
sapSysSessionId (SAP) |
|
|
|
sapTransaction (SAP) |
|
|
|
sapUser (SAP) |
|
|
|
属性 |
模糊 |
正则表达式 |
区分大小写 |
---|---|---|---|
url |
|
|
|
htmlwindowname |
|
|
|
title |
|
|
|
class |
|
|
|
app |
|
|
|
idx |
|
|
|
pid |
|
|
|
tid |
|
|
|
excludehwnd |
|
|
|
bsid(浏览器会话 ID) |
|
|
|
isremoteapp |
|
|
|
tag 和 idx 属性使用字符串值。所有其他 WEBCTRL 属性都具有动态值。
属性 |
模糊 |
正则表达式 |
区分大小写 |
---|---|---|---|
tag |
|
|
|
idx |
|
|
|
aaname |
|
|
|
name |
|
|
|
id |
|
|
|
parentid |
|
|
|
class |
|
|
|
css-selector |
|
|
|
innertext |
|
|
|
visibleinnertext |
|
|
|
isleaf |
|
|
|
parentclass |
|
|
|
parentname |
|
|
|
src |
|
|
|
href |
|
|
|
tableCol |
|
|
|
tableRow |
|
|
|
colName |
|
|
|
rowName |
|
|
|
aria-label |
|
|
|
aria-labelledby |
|
|
|
属性 |
模糊 |
正则表达式 |
区分大小写 |
---|---|---|---|
accelkey(加速键) |
|
|
|
acskey(访问密钥) |
|
|
|
automationid |
|
|
|
cls |
|
|
|
helpText |
|
|
|
legacyAccHelp(旧版辅助功能帮助) |
|
|
|
enabled |
|
|
|
kbfocus(键盘是否可聚焦) |
|
|
|
ispwd(为密码) |
|
|
|
itemstatus |
|
|
|
itemtype |
|
|
|
rtid(运行时 ID) |
|
|
|
角色 |
|
|
|
name |
|
|
|
pid |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
rowName |
|
|
|
colName |
|
|
|
idx |
|
|
|
属性 |
模糊 |
正则表达式 |
区分大小写 |
---|---|---|---|
id |
|
|
|
leafid “属性”面板未公开此属性,因其与“id”属性互斥。不过可以手动添加。 |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
colName |
|
|
|
relpath |
|
|
|
itemId |
|
|
|