Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Получить связанные элементы Версия 2 (Net)

Группа действий: Windows  Подгруппа Подгруппа "Работа с win-элементами"

...

Описание

Действие проверяет указанный элемент и возвращает и возвращает связанные с ним элементы (родительские/дочерние/соседние)
Пример на "Блокноте":
Image Modified

Для элемента "Масштаб" соседним элементом будет "Строка состояния". Родительский элемент - "Вид". Дочерние элементы: "Увеличить", "Уменьшить", "Восстановить масштаб по умолчанию".

Иконка действия

Image Modified

Параметры

...

и их настройки

Входные параметры

Элемент                Параметр, который хранит данные Win-элемента, координаты которого будут проверяться

Тип связи              Выпадающий список с элементами: "Родительские элементы", "Дочерние элементы", "Соседние элементы"

                              Если выбрана "Родительский элемент", то в результате вернется коллекция с win-элементами, которые являются родителями для указанного элемента

                              Если выбрана "Дочерние элементы", то в результате вернется коллекция с win-элементами, которые являются дочерними для указанного элемента

                              Если выбрано "Соседние элементы", то в результате вернется коллекция с win-элементами, которые являются "соседями" для указанного элемента, то есть имеют общего родителя

Глубина поиска   Уровень вложенности связанных элементов, до которого будет производиться поиск. Положительное целое число от 1 до бесконечности 

                             По умолчанию - "1". Глубина не учитывается, если в "Тип связи" выбрано значение "Соседние элементы"

                             Если глубина, указанная в параметре, больше фактической глубины в приложении, то берутся все элементы до фактической глубины 

Тайм-аут              Время в миллисекундах, в течение которого будет происходить поиск нужного элемента

Номер окна         Порядковый номер окна, с которым будет взаимодействовать действие, если обнаружено несколько окон

                             При этом действие ищет только те окна, в которых должен находиться элемент согласно его параметрам

                             Положительное целое число от 1. По умолчанию - "1"

Выходные параметры

Результат          Коллекция win-элементов

Настройки

СвойствоОписаниеТипПример заполненияОбязательность заполнения поляПримечание
Параметры 
ЭлементРесурс который хранит данные о выбранном элементе приложенияRobin.WinElement
Да
Тип связи Тип связи между искомыми элементами и указанным. Можно искать элементы, которые являются родительскими, дочерними или соседними по отношению к указанному элементу. Соседние имеют общий родительский элемент с искомым элементомRobin.Numeric
Да

Выпадающий список с элементами:

  • Родительские элементы
  • Дочерние элементы
  • Соседние элементы
Глубина поискаУровень вложенности связанных элементов, до которого будет производиться поиск. Если указанная глубина больше фактической, действие вернет все элементы до фактической глубины Значение по умолчанию - 1. Параметр игнорируется, если в поле поле "Тип связи" выбрано  выбрано значение "Соседние элементы"Robin.Numeric
Нет
Тайм-аутВремя в миллисекундах, в течение которого будет происходить поиск нужного элементаRobin.Numeric
Нет
Номер окнаПорядковый номер окна, с которым должно работать действие. Если не указать номер окна, будет проверено первое окно. Нумерация начинается с 1Robin.Numeric
Нет

Особые условия использования

Если пользователь в "Тип связи" выбирает "Родительские элементы" и у указанного win-элемента отсутствует родитель, то в результате вернется пустая коллекция.
Если пользователь в "Тип связи" выбирает "Соседние элементы" и у указанного win-элемента отсутствуют соседи, то в результате вернется пустая коллекция.
Если пользователь в "Тип связи" выбирает "Дочерние элементы" и у указанного win-элемента отсутствуют дети, то в результате вернется пустая коллекция.
Метод обхода графа - в ширину.

Пример работы действия

Image Modified

  • Пользователь указал элемент L, "Глубина поиска"=3, "Тип связи" = "Родительские элементы". Результат - коллекция с элементами E, B, A;
  • Пользователь указал элемент B, "Глубина поиска"=2, "Тип связи" = "Дочерние элементы". Результат - коллекция с элементами D, E, I, J, K, L;
  • Пользователь указал элемент F, "Тип связи" = "Соседние элементы". Результат - коллекция с элементами G,H;
  • Пользователь указал элемент A, "Тип связи" = "Родительские элементы". Результат - пустая коллекция;
  • Пользователь указал элемент A, "Тип связи" = "Соседние элементы". Результат - пустая коллекция;
  • Пользователь указал элемент I, "Тип связи" = "Дочерние элементы". Результат - пустая коллекция.

Пример использования 

Задача

Открыто окно с названием "Блокнот". Необходимо получить соседние, дочерние и родительские элементы элемента "Масштаб".

Решение

Воспользоваться действием "Получить связанные элементы". 

Реализация

     Собрать
  1.  Собрать робота, состоящего из действий
  2. :
  3. . 
    Image Modified
  4. Настроить параметры действия "Запустить процесс"
  5. :
  6. .
    Image Modified
  7. Настроить параметр действия "Фокус на элементе Вид". Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента. Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.
    Image Modified
  8. Настроить параметр действия "Фокус на элементе Масштаб". Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.
    Image Modified
  9. Настроить параметр действия "Получить связанные элементы". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Масштаб1" и тип связи - Дочерние элементы
  10. :
  11. .
    Image Modified
  12. Настроить параметр действия "Получить длину". В поле Коллекция или массив, указываем результат действия "Получить связанные элементы"
  13. :
  14. .
    Image Modified
  15. Настроить параметр действия "Вычитание". Второй операнд будет 1
  16. :
  17. .
    Image Modified
  18. Настроить параметр цикла "Для".
  19.  В
  20. В поле Конечное значение, указываем результат действия "Вычитание"
  21. :
  22. .
    Image Modified
  23. Настроить параметр действия "Получить значение по индексу". В поле Коллекция, указываем результат действия "Получить связанные элементы", в поле Индекс, указываем состояния итератора цикла "Для"
  24. :
  25. .
    Image Modified
  26. Настроить параметры действия "Завершить процесс"
  27. :
  28. .
    Image Modified
  29. Нажать на кнопку "Старт" в верхней панели. 

Результат

Программный робот отработал успешно.

Дочерние элементы "Увеличить", "Уменьшить", "Восстановить масштаб по умолчанию" получены.


Пример 2

  1. Изменить параметр действия "Получить связанные элементы". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Масштаб1" и тип связи - Родительские элементы. 
    Image Modified
  2. Нажать на кнопку "Старт" в верхней панели. 

Результат

Программный робот отработал успешно.

 Родительский элемент "Вид" получен.

Пример 3

  1. Изменить параметр действия "Получить связанные элементы". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Масштаб1" и тип связи - Соседние элементы. 
    Image Modified
  2. Нажать на кнопку "Старт" в верхней панели. 

Результат

Программный робот отработал успешно.

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