【发布时间】:2015-12-12 00:59:11
【问题描述】:
我在使用 C# UIAutomation 查找 Firefox 的 UI 元素时遇到问题。
在 Inspect.exe 中,一切正常:
但是,当以 root 身份在窗口上使用下面的方法时,只能找到以黄色突出显示的元素。我需要到达蓝色元素,但无法获得它。以下解决方案基于这篇文章:
UIAutomation won't retrieve children of an element
public static void WalkControlElements(AutomationElement rootElement)
{
if (rootElement == null) return;
var children = new List<AutomationElement>();
var currentChild = TreeWalker.RawViewWalker.GetFirstChild(rootElement);
while (currentChild != null)
{
children.Add(currentChild);
currentChild = TreeWalker.RawViewWalker.GetNextSibling(currentChild);
}
foreach (var child in children)
{
Console.WriteLine(child.ToString());
WalkControlElements(child);
}
}
【问题讨论】:
标签: c# ui-automation