5

我能够看到视图,但无法看到/点击其中的按钮。该按钮的可访问性标签为 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}}]

4

1 回答 1

12

确保按钮的可访问性属性没有被其容器视图隐藏。只有那些应该由用户访问的元素才应该被标记为这样。如果在 Interface Builder 中设置容器视图启用“可访问性”,则 UIAutomation 将看不到层次结构中的所有子元素。

那有帮助吗?

于 2011-03-09T13:10:06.830 回答