我试图捕获特定应用程序的所有子树元素,在某些机器中我获取所有元素,但在某些机器中,有一半元素(即子元素)丢失。
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);
答案 0 :(得分:0)
我不知道为什么会出现这个问题,但我已经在一个经过测试的应用程序中看到,有时必须选择父节点并单击它以扩展其子节点,以便通过自动化看到它们。
因此,您可以创建自定义查找方法,在尝试检索其子节点之前,选择并单击某个节点以展开它。
答案 1 :(得分:0)
签署我们的 exe 后,我们开始获取所有必需的元素,签署 exe 将增加您的应用程序的访问权限。