Windows UI自动化 - 不捕获所有子树元素

时间:2017-02-11 13:16:12

标签: c# .net-framework-version microsoft-ui-automation

我试图捕获特定应用程序的所有子树元素,在某些机器中我获取所有元素,但在某些机器中,有一半元素(即子元素)丢失。

FindAll(TreeScope.Subtree, Condition.TrueCondition);

我尝试过安装 Microsoft .NET Framework 4.5 ,但没有运气

可能是什么问题?为什么UI Automation在不同的机器上表现不同?客户端机器中可能缺少什么,不允许UI Automation获取所有子元素?

客户端计算机还需要 Microsoft .NET Framework 4.5 SDK 吗? 系统配置:

开发人员机器:(工作正常)

操作系统:Windows 7专业版

开发应用:Visual Studio 2012专业版

.NET Framework :4.5.2

.NET Framework SDK :4.5

客户端计算机:(无法获取子元素)

操作系统:Windows 7专业版

.NET Framework :4.5

.NET Framework SDK :NA

开发人员计算机中没有安装额外的软件,Visual Studio 2012也安装了Framework和Framework SDK。

获取元素的代码很简单,我试图在鼠标位置获取元素:

System.Windows.Point _location = new System.Windows.Point(Cursor.Position.X,Cursor.Position.Y);

AutomationElement _ele = AutomationElement.FromPoint(_location);

2 个答案:

答案 0 :(得分:0)

我不知道为什么会出现这个问题,但我已经在一个经过测试的应用程序中看到,有时必须选择父节点并单击它以扩展其子节点,以便通过自动化看到它们。

因此,您可以创建自定义查找方法,在尝试检索其子节点之前,选择并单击某个节点以展开它。

答案 1 :(得分:0)

签署我们的 exe 后,我们开始获取所有必需的元素,签署 exe 将增加您的应用程序的访问权限。