2011-01-13 77 views
5

我能够看到视图,但即时无法看到/点击其中的按钮。该按钮具有启用了辅助功能的UIA_loginview_loginbutton的辅助功能标签。为什么它不显示在logElementTree()?为什么我的视图中的按钮不能被UIAutomation看到?

var target = UIATarget.localTarget(); 
var application = target.frontMostApp(); 
var window = application.mainWindow(); 
var view = window.elements().firstWithName("UIA_loginview_view"); 


UIATarget.localTarget().logElementTree(); 
UIATarget.localTarget().frontMostApp().logElementTree(); 


if(view == null || view.toString() == "[object UIAElementNil]") 
{ 
UIALogger.logFail("View not found - "+view.toString()); 
} 
else 
{ 
    UIALogger.logPass("View found - "+view.toString()); 
    UIALogger.logMessage("View Elements length - "+view.buttons().length); 
    view.buttons()["UIA_loginview_loginbutton"].tap(); 
} 

登录元素树://显示我的视图,但不是按钮,它

4)UIAElement [名称内:UIA_loginview_view值:(空)的NSRect:{{0,20},{320, 460}}]

+0

请您使用{}在编辑窗口的顶部格式化你的代码 - 它有很大帮助! – Axel 2011-01-13 07:24:54

回答

12

确保该按钮的可访问性属性未被其容器视图隐藏。只有那些用户可以访问的元素应该被标记为这样。如果在界面构建器中将容器视图设置为启用“Accessability”,则UIAutomation将不会显示hierarchie中的所有子元素。

这有帮助吗?

+0

是的,它确实谢谢你! :D – Aldrich 2011-03-10 07:37:31

相关问题