UIA的自定义条件

时间:2016-04-04 08:50:30

标签: c# microsoft-ui-automation

有没有办法编写自己的System.Windows.Automation.Condition类?我不知道这个类是如何工作的,因为它没有提供定义比较行为的公共方法。

背景:我使用UIAutomation库来查找用户与之交互的元素,以便重复他的动作。有时我发现很难通过其属性(如自动化ID或名称)访问元素。最近我发现Windows 7的Aero栏中的按钮将其名称更改为所选实例的名称,这真的让我感到震惊,因为我不能再使用确切的名称进行比较了。

1 个答案:

答案 0 :(得分:0)

您可以使用inspect.exe查看屏幕上任何UI元素的所有可用属性。这将有助于您了解在各种情况下要使用哪些属性来标识UI元素。 例如:我发现AutomationId属性在元素名称不是静态的情况下非常有用。

此外,如果您想要找到与其名称部分匹配的元素 - 您可以使用FindAll迭代可用元素的所有树(例如:通过TrueCondition方法),并手动检查名称匹配。 / p>