为什么 UIAutomation 看不到我视图中的按钮?

发布于 2024-10-11 22:42:57 字数 868 浏览 1 评论 0原文

我可以看到视图,但无法看到/点击其中的按钮。该按钮具有 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}}]

i am able to see the view but im unable to see/tap the button inside it. The button has a accessibility label of UIA_loginview_loginbutton with accesibility enabled. why is it not showing on 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();
}

Log Element Tree: //Shows my view but not the button inside it

4) UIAElement [name:UIA_loginview_view value:(null) NSRect: {{0, 20}, {320, 460}}]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱,才寂寞 2024-10-18 22:42:57

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

有帮助吗?

Ensure that the accessability property of the button is not hidden by its container views. Only those elements, which should be accessable by the user should be marked as such. If you set a container view enabled "Accessability" in Interface Builder all subelements in the hierarchie will not be visible by UIAutomation.

Did that help?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文