我能够看到视图,但我无法看到/点按其中的按钮。该按钮具有UIA_loginview_loginbutton的辅助功能标签,并且启用了辅助功能。为什么它没有显示在logElementTree()?
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 [name:UIA_loginview_view value:(null)NSRect:{{0,20},{320,460}}]
答案 0 :(得分:12)
确保按钮的可访问性属性未被其容器视图隐藏。只有那些应该由用户可访问的元素才应该被标记为这样。如果在Interface Builder中将容器视图设置为“Accessability”,则UIAutomation将无法显示hierarchie中的所有子元素。
这有帮助吗?