1

我想获取属性 Value.Value 下的文本“Running”。但是,这不是 AutomationElement 类的可用字段中列出的属性的一部分。 在此处输入图像描述

4

1 回答 1

-1

托管的 UI 自动化 API 使用起来有点奇怪和棘手(除此之外:TBH,它作为一个 API 非常糟糕,需要大修,使用它任意时间,你会发现自己用自己的方法包装它让它更容易使用,也许有人已经这样做了,把它放在一个不错的库中,IDK)。

要检索属性值(或调用可用方法),您首先需要获取AutomationElement. 我们感兴趣的模式是ValuePattern

element.GetCurrentPattern(ValuePattern.Pattern);

这个方法很烦人地返回一个object我们需要转换的plain,所以我们可以得到Value。使用 C#7 语法,这会稍微不那么痛苦:

if(element.GetCurrentPattern(ValuePattern.Pattern) is ValuePattern valuePattern)
{
    Console.WriteLine(valuePattern.Current.Value);
}
于 2018-01-30T19:11:10.980 回答