Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

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

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


Описание

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

Пример на "Блокноте":

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройки

PropertyDescriptionTypeFilling exampleMandatory field
Parameters
ElementA resource that stores data about the selected application element.Robin.WinElement
Yes
Type of connectionThe type of relationship between the elements being searched for and the specified element. You can search for elements that are parent, child, or neighbor to the specified element. Neighbors share a common parent element with the searched element.Robin.String
Yes
Search depthThe nesting level of related elements to which the search will be performed. If the specified depth is greater than the actual depth, the action will return all elements up to the actual depth. The default value is 1. The parameter is ignored if the «Neighboring items» value is selected in the «Type of connection» field.Robin.Numeric
No
Time-out, msThe time in milliseconds for which the desired element will be searched.Robin.Numeric
No
Window orderThe sequence number of the window that the action should work with. If you do not specify a window number, the first window will be checked. The numbering starts from 1.Robin.Numeric
No
Results
ResultA collection with related elements.Robin.Collection

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

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

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

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

Метод обхода графа - в ширину.

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

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

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

Задача

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

Решение

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

Реализация

  1.  Собрать робота, состоящего из действий: 

  2. Настроить параметры действия "Run":

  3. Настроить параметр действия "Window focus element". Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента. Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

  4. Настроить параметр действия "Window focus element Scale". Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

  5. Настроить параметр действия "Get related elements". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Масштаб1" и тип связи - Дочерние элементы:

  6. Настроить параметр действия "Get length". В поле Коллекция или массив, указываем результат действия "Получить связанные элементы":

  7. Настроить параметр действия "Subtraction". Второй операнд будет 1:

  8. Настроить параметр цикла "For". В поле Конечное значение, указываем результат действия "Subtraction":

  9. Настроить параметр действия "Get value by index". В поле Коллекция, указываем результат действия "Get related elements", в поле Индекс, указываем состояния итератора цикла "For":

  10. Настроить параметры действия "Terminate":
  11. Нажать на кнопку "Старт" в верхней панели. 

Результат

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

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


Пример 2

  1. Изменить параметр действия "Get related elements". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Scale1" и тип связи - Родительские элементы. 

  2. Нажать на кнопку "Старт" в верхней панели. 

Результат

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

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

Пример 3

  1. Изменить параметр действия "Получить связанные элементы". Выбираем ранее полученный с помощью инструмента WinSpy элемент "Scale1" и тип связи - Соседние элементы. 

  2. Нажать на кнопку "Старт" в верхней панели. 

Результат

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

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



  • Нет меток