有没有办法编写自己的System.Windows.Automation.Condition类?我不知道这个类是如何工作的,因为它没有提供定义比较行为的公共方法。
背景:我使用UIAutomation库来查找用户与之交互的元素,以便重复他的动作。有时我发现很难通过其属性(如自动化ID或名称)访问元素。最近我发现Windows 7的Aero栏中的按钮将其名称更改为所选实例的名称,这真的让我感到震惊,因为我不能再使用确切的名称进行比较了。
答案 0 :(得分:0)
您可以使用inspect.exe
查看屏幕上任何UI元素的所有可用属性。这将有助于您了解在各种情况下要使用哪些属性来标识UI元素。
例如:我发现AutomationId
属性在元素名称不是静态的情况下非常有用。
此外,如果您想要找到与其名称部分匹配的元素 - 您可以使用FindAll
迭代可用元素的所有树(例如:通过TrueCondition
方法),并手动检查名称匹配。 / p>