Почему это кнопка, по моему мнению, не может быть видно на UIAutomation?
-
10-10-2019 - |
Вопрос
Я могу увидеть представление, но я не могу увидеть/нажать на кнопку внутри него. Кнопка имеет метку доступности 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 [имя: uia_loginview_view value: (null) nsrect: {{0, 20}, {320, 460}}
Решение
Убедитесь, что свойство доступа кнопки не скрыто видами контейнеров. Только те элементы, которые должны быть доступны пользователю, должны быть помечены как таковые. Если вы установите представление контейнера, включенное «доступом» в интерфейсном строителе, все подэлементы в иерархии не будут видны UIAutomation.
Это помогло?
Не связан с StackOverflow