我想获取属性 Value.Value 下的文本“Running”。但是,这不是 AutomationElement 类的可用字段中列出的属性的一部分。
user6023770
问问题
318 次
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 回答