Получить связанные элементы Версия 2 (Net)
Группа действий: Windows Подгруппа "Работа с win-элементами"
Описание
Действие проверяет указанный элемент и возвращает связанные с ним элементы (родительские/дочерние/соседние)
Пример на "Блокноте":
Для элемента "Масштаб" соседним элементом будет "Строка состояния". Родительский элемент - "Вид". Дочерние элементы: "Увеличить", "Уменьшить", "Восстановить масштаб по умолчанию".
Иконка действия
Параметры и их настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля | Примечание |
Параметры | |||||
Элемент | Ресурс который хранит данные о выбранном элементе приложения | Robin.WinElement | Да | ||
Тип связи | Тип связи между искомыми элементами и указанным. Можно искать элементы, которые являются родительскими, дочерними или соседними по отношению к указанному элементу. Соседние имеют общий родительский элемент с искомым элементом | Robin.Numeric | Да | Выпадающий список с элементами:
| |
Глубина поиска | Уровень вложенности связанных элементов, до которого будет производиться поиск. Если указанная глубина больше фактической, действие вернет все элементы до фактической глубины Значение по умолчанию - 1. Параметр игнорируется, если в поле "Тип связи" выбрано значение "Соседние элементы" | Robin.Numeric | Нет | ||
Тайм-аут | Время в миллисекундах, в течение которого будет происходить поиск нужного элемента | Robin.Numeric | Нет | ||
Номер окна | Порядковый номер окна, с которым должно работать действие. Если не указать номер окна, будет проверено первое окно. Нумерация начинается с 1 | Robin.Numeric | Нет |
Особые условия использования
Если пользователь в "Тип связи" выбирает "Родительские элементы" и у указанного win-элемента отсутствует родитель, то в результате вернется пустая коллекция.
Если пользователь в "Тип связи" выбирает "Соседние элементы" и у указанного win-элемента отсутствуют соседи, то в результате вернется пустая коллекция.
Если пользователь в "Тип связи" выбирает "Дочерние элементы" и у указанного win-элемента отсутствуют дети, то в результате вернется пустая коллекция.
Метод обхода графа - в ширину.
Пример работы действия
- Пользователь указал элемент L, "Глубина поиска"=3, "Тип связи" = "Родительские элементы". Результат - коллекция с элементами E, B, A;
- Пользователь указал элемент B, "Глубина поиска"=2, "Тип связи" = "Дочерние элементы". Результат - коллекция с элементами D, E, I, J, K, L;
- Пользователь указал элемент F, "Тип связи" = "Соседние элементы". Результат - коллекция с элементами G,H;
- Пользователь указал элемент A, "Тип связи" = "Родительские элементы". Результат - пустая коллекция;
- Пользователь указал элемент A, "Тип связи" = "Соседние элементы". Результат - пустая коллекция;
- Пользователь указал элемент I, "Тип связи" = "Дочерние элементы". Результат - пустая коллекция.
Пример использования
Задача
Открыто окно с названием "Блокнот". Необходимо получить соседние, дочерние и родительские элементы элемента "Масштаб".
Решение
Воспользоваться действием "Получить связанные элементы".
Реализация
- Собрать робота, состоящего из действий.
- Настроить параметры действия "Запустить процесс".
- Настроить параметр действия "Фокус на элементе Вид". Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента. Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.
- Настроить параметр действия "Фокус на элементе Масштаб". Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.
- Настроить параметр действия "Получить связанные элементы". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Масштаб1" и тип связи - Дочерние элементы.
- Настроить параметр действия "Получить длину". В поле Коллекция или массив, указываем результат действия "Получить связанные элементы".
- Настроить параметр действия "Вычитание". Второй операнд будет 1.
- Настроить параметр цикла "Для". В поле Конечное значение, указываем результат действия "Вычитание".
- Настроить параметр действия "Получить значение по индексу". В поле Коллекция, указываем результат действия "Получить связанные элементы", в поле Индекс, указываем состояния итератора цикла "Для".
- Настроить параметры действия "Завершить процесс".
- Нажать на кнопку "Старт" в верхней панели.
Результат
Программный робот отработал успешно.
Дочерние элементы "Увеличить", "Уменьшить", "Восстановить масштаб по умолчанию" получены.
Пример 2
- Изменить параметр действия "Получить связанные элементы". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Масштаб1" и тип связи - Родительские элементы.
- Нажать на кнопку "Старт" в верхней панели.
Результат
Программный робот отработал успешно.
Родительский элемент "Вид" получен.
Пример 3
- Изменить параметр действия "Получить связанные элементы". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Масштаб1" и тип связи - Соседние элементы.
- Нажать на кнопку "Старт" в верхней панели.
Результат
Программный робот отработал успешно.
Соседний элемент "Строка состояния" получен.