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