美文网首页
UIA(3)-查找控件

UIA(3)-查找控件

作者: yaoshunyu0921 | 来源:发表于2017-01-19 18:13 被阅读0次

Root Element

系统的root element就是windows的桌面,其他所有控件都是桌面的子控件。在自动化程序中查找控件,需要从一个父控件开始,这个父控件可以是任何控件,桌面是所有控件的父控件。我们可以通过下面的方法获取这个root element。

var desktop=AutomationElement.RootElement;

Condition

在UIA中我们通过condition来查找元素,condition定义了查找元素的方式(属性)。

UIA中有两个预定义condition:trueCondition和falseConditon。TrueCondition会返回指定搜索范围内的所有元素;相反,FalseCondition会防止搜索范围内任何元素被找到。

除此之外,还有三个预定义的condition:ContentViewCondition,ControlViewCondition, 和RawViewCondition,它们可以单独使用也可以以组合条件的方式使用。

我们也可以通过property构建特定属性的propertyCondition,比如可以构建支持某种control pattern的condition。我们也可以通过AndCondition, OrCondition, 和NotCondition来构建组合类型的condition.

var condition=new PropertyCondition(AutomationElement.NameProperty,"test")

var btnCondition=new AndCondition(

              newPropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button),

              newPropertyCondition(AutomationElement.NameProperty,"ok"));

Search Scope

我们可以通过findfirst和findall两个函数来定位控件,这两个函数的入参包括查找的范围和查找条件。Findfirst会返回满足当前元素所在查找范围内符合条件的第一个元素,Findall会返回满足当前元素查找范围内符合条件的所有元素。search scope可以是以下多种查找范围的组合:Ancestors、Children、Descendants、Element、Parent和Subtree。

var window=desktop.FindFirst(TreeScope.Children, condition);

AutomationElementCollection elementCollection =

                               elementWindowElement.FindAll(TreeScope.Children, conditions);

相关文章

  • UIA(3)-查找控件

    Root Element 系统的root element就是windows的桌面,其他所有控件都是桌面的子控件。在...

  • UIA(5)-操作控件

    我们可以调用通过AutomationElement.GetCachedPattern和AutomationElem...

  • UIA(4)-控件模型

    控件模型概览 控件模型提取出了各种不同类型不同长相的控件的公有行为模型,将之归纳为多种控件模型。UIA使用控件模型...

  • Cypress 查找元素的一些技巧

    一、通过控件各种属性查找1、普通页面控件 根据属性查找元素的写法 2、列表元素 获取RMB控件 3、输入框 获取根...

  • auto.js常用语法

    1 模拟滚动 2 启动 3 无限循环事件 + 控件查找 + 点击 4 根据字符串查找控件, 默认超时timeou...

  • Swift UI控件详细介绍(上)

    UI控件 首先介绍一下AppDelegate.swift@UIApplicationMain 调用了OC中的UIA...

  • 后台恢复方法

    3:从后台恢复时调用的委托 - (void)applicationWillEnterForeground:(UIA...

  • Cesium(三)Cesium页面控件隐藏

    Cesium viewer页面包含了很多控件: 右上角的控件依次为:1、geocoder:位置查找工具,查找到之后...

  • Wpf中组合控件如何查找内部的控件

    方法: ///relate 表示组合控件的父控件,即最外层 ///type 要查找的控件类型 ///resElem...

  • 响应者链

    一、查找控件 UIApplication -> UIWindow -> UIViewController ->UI...

网友评论

      本文标题:UIA(3)-查找控件

      本文链接:https://www.haomeiwen.com/subject/jowvbttx.html