FWScript 控件属性
在一个控件的寻找路径中,会用到控件类型(ControlType)和控件属性名称(Property),斜杠’/’后面紧跟的为控件类型(window,menuitem),在方括号[]里面的紧跟@后面的为属性名称(classname,automationid)。
:/window[@classname=”notepad”]/?/menuitem[@automationid=”item 1”]
事实上,Windows针对所有的控件类型和属性名称都有固定的编号,控件从50000到50044, 属性名称从30000到30072,在FWScripts中,可以使用编号来进行识别,使用这种表达方式BizRunner处理起来速度更快些,如前述控件路径也可以表达为:
:/32[@12=”notepad”]/?/11[@11=”item 1”]
另外,通过使用FWAlias,也可以对路径进行简化,如上述路径的表达方式可以简化为:
:/window[@class=”notepad”]/?/menuitem[@id=”item 1”]
- 获取控件的属性值
- 控件属性别名
注意,控件类型、控件属性详见控件类型与属性列表
获取控件的属性值
如果一个变量的变量类型为控件(Element),则可以取出其属性值,格式如下:
代码 | 描述 |
---|---|
$Var.property | property为控件对应的属性的名称,如$.name 取出该控件的名字,而$.classname 取出该控件的类名 |
$Var.*X | 控件Rectangle的 X 坐标,返回float变量 |
$Var.*Y | 控件Rectangle的 Y 坐标,返回float变量 |
$Var.*W | 控件Rectangle的宽度 Width,返回float变量 |
$Var.*H | 控件Rectangle的高度 Height,返回float变量 |
$Var.*R | 返回数据源变量,该数据源包含4列,分别为X、Y、Width和Height,如果$Var为元素集合变量,则返回多组数值 |
如果$Var为控件的集合,则返回一个数据源变量,该数据源包含1列,循环执行为每次从集合中取出一个控件,记录在变量$1中。
注意:尽管在微软的UIA接口中属性名称区分大小写,但在FWScripts中做了特殊的处理,属性名称不分大小写。
控件属性别名
Property | Alias |
---|---|
automationid | id |
classname | class |
<< FWScript 控件识别 | FWScript 控件动作 >> |