UIAutomation报未将对象引用设置到对象的实例错误

从网上拷下来的代码如下


var desktop = AutomationElement.RootElement; // 先找到根元素,可以认为是桌面

            var condition = new PropertyCondition(AutomationElement.NameProperty, "计算器"); // 定义我们的查找条件,名字是test

            var window = desktop.FindFirst(TreeScope.Children, condition); // 在桌面的子控件中查找第一个符合条件的窗体。

           

            var btnCondition = 

                new PropertyCondition(AutomationElement.AutomationIdProperty, "131");


            var button = desktop.FindFirst(TreeScope.Children, btnCondition);

            var clickPattern = (InvokePattern)button.GetCurrentPattern(InvokePattern.Pattern);

            clickPattern.Invoke();

spacer.gif

运行报错“未将对象引用设置到对象的实例。"


经过多次试验,发现错误原因:***行改成  var button = desktop.FindFirst(TreeScope.Subtree, btnCondition); 就可以了.


说明TreeScope.Children只代表子节点,不包括子节点的子节点



本文出自 “爱工作爱生活” 博客,转载请与作者联系!

你可能感兴趣的:(uiautomation,对象引用)