Получить связанные элементы Версия 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" и тип связи - Соседние элементы.

- Нажать на кнопку "Старт" в верхней панели.
Результат
Программный робот отработал успешно.

Соседний элемент "Строка состояния" получен.