Группа «Windows»

Получение win-элемента

Для работы с действиями Windows требуется получение Win-элемента.

Получить его можно следующим способом:

  • Нажать на кнопку рядом с полем «Элемент».

  • Далее, нажать на кнопку

  • Выбрать приоритетный метод поиска.

Доступные методы:

Definition. XPath. DefinitionAndXPath (значение по умолчанию).

  • Нажать на кнопку Spy.

  • В открывшемся окне нажать на кнопку «Захватить».

  • Выбрать элемент, который нужно получить и нажать на него левой кнопкой мыши и зажать клавишу Ctrl.

  • Будут получены свойства элемента.

  • Нажать на кнопку «Сохранить».

  • Нажать на кнопку «Сохранить».

  • Элемент будет указан в соотвествующем поле.

Также, элемент можно получить нажав на кнопку плюса на вкладке «Ресурсы». В открывшемся окне необходимо будет нажать на кнопку «Spy» и повторить алгоритм с п.4

Работа с win-элементами

Фокус на элементе / Focus on element

Задача: установить фокус на элементе, произвести клик ЛКМ.

Решение: воспользоваться действием «Фокус на элементе».

Реализация:

  • Перенести действие «Фокус на элементе» на рабочую область.

  • Настроить параметры действия «Фокус на элементе». Элемент для взаимодействия необходимо получить с помощью WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Фокус на указанном элементе установлен.

Получить значение чекбокса / Get checkbox value

Задача: на экране открыто окно по настройке параметров Notepad++. Необходимо получить значение чекбокса «Прозрачность». Результат true/false вывести в диалоговое окно.

Решение: воспользоваться действиями «Получить значение чекблокса» ,»Сообщение».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметр для действия «Получить значение чекбокса». Элемент берется с помощью WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

  • Настроить параметр для действия «Сообщение».

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Чекбокс заполнен. Значение «true» выведено в диалоговое окно.

Установить значение чекбокса / Set checkbox value

Задача: на экране открыто окно «Найти», необходимо переключить значение чек-бокса «Обратное направление поиска» в состояние «включено (true)».

Решение: воспользоваться действием «Установить значение чекбокса».

Реализация:

  • Перенести действие «Установить значение чекбокса» на рабочую область.

и настроить его параметры. Элемент необходимо получить с помощью WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

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

Значение чекбокса «Обратное направление поиска» изменено на True.

Дополнительно

Как работает поле «Действие»:

  • Установить - устанавливает устанавливает флажок или переключатель. Состояние True.
  • Снять - снимает устанавливает флажок или переключатель. Состояние False.
  • Переключить - изменяет значение (было True - станет False и наоборот).

Т.е. перед тем как Установить или Снять, действие должно получить значение чек-бокса, после чего выполнить указанное действие.

Если значение чекбокса было True, а в действии указано «Установить», то чекбокс не изменит значения и останется True. Аналогично работает с False и «Снять» в поле «Действие».

Робот вернет ошибку, если:

  • не найден элемент, истекло время ожидания;
  • элемент не кликабельный, заблокированный;
  • элемент не является чекбоксом.

Ввести текст / Enter text

Задача: открыто окно с названием «Mail». Необходимо ввести в поле для ввода значение «Test».

Решение: воспользоваться действием «Ввести текст».

Реализация:

  • Перенести на рабочую область действие «Ввести текст».

  • Настроить параметры действия «Ввести текст». Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

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

Требуемый текст введен в поле ввода диалогового окна.

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

При работе данного действия в 1С может возникнуть ошибка.

Например, существует алгоритм робота, в результате которого, робот должен ввести текст в поле и кликнуть по кнопке.

  1. В действии «Ввести текст» (группа Windows) указано поле в 1С и текст, который нужно ввести.
  2. В действии «Фокус на элементе» указана кнопка «Записать».
  3. Робот запущен.

Результат: действие вводит в поле указанный текст, но при клике на «Записать» отображается ошибка, что поле пустое, в результате робот не отрабатывает, запись не создается.

Временное решение до устранения проблемы:

В случае с 1С необходимо отправить «Нажатие клавиш» из группы «Имитация устройств» и указать Backspace после действия «Ввести текст».

Дожидаться исчезновения элемента / Wait for element dissapear

Задача: открыто 2 окна «Параметры» и «Mail». Необходимо активировать окно «Mail» после закрытия вручную окна «Параметры».

Решение: воспользоваться действиями «Дождаться исчезновения элемента», «Активировать окно».

Реализация:

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

  • Настроить параметры действия «Дождаться исчезновения элемента». Элемент необходимо получить с помощью инструмента WinSpy.

  • Настроить параметры действия «Активировать окно».

  • Нажать на кнопку «Старт» в верхней панели. Закрыть вручную окно «Mail». (Для робота элемент, расположенный в данном окне исчезнет).

Результат:

Программный робот отработал успешно. Робот дождался исчезновения требуемого элемента и активировал окно «Параметры».

Очистить поле / Clear field

Задача: открыто окно с названием «Mail» c заполненным полем ввода, необходимо его очистить.

Решение: воспользоваться действием «Очистить поле».

Реализация:

  • Перенести на рабочую область действие «Очистить поле».

  • Настроить параметр действия «Очистить поле». Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

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

Поле очищено.

Получить координаты элемента / Get element coordinates

Задача: открыто окно с названием «Mail» , необходимо получить координаты элемента.

Решение: воспользоваться действием «Получить координаты элемента».

Реализация:

  • Перенести на рабочую область действие «Получить координаты элемента».

  • Настроить параметры действия «Получить координаты элемента». Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Координаты элемента получены.

Получить свойство элемента / Get text from property

Задача: открыто окно с названием «Mail» , необходимо получить свойство элемента = IsPasswordProperty.

Решение: воспользоваться действием «Получить свойство элемента».

Реализация:

  • Перенести на рабочую область действие «Получить свойство элемента».

  • Настроить параметры действия «Получить свойство элемента». Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

О свойствах элементов можно прочитать тут: https://learn.microsoft.com/ru-ru/uwp/api/windows.ui.xaml.automation.automationelementidentifiers.ispasswordproperty?view=winrt-22621

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Свойство элемента = IsPasswordProperty получено.

Получить текст элемента / Get element text

Задача: открыто окно с названием «Calendar» , необходимо получить текст элемента:

Решение: воспользоваться действием «Получить текст элемента».

Реализация:

  • Перенести на рабочую область действие «Получить текст элемента».

  • Настроить параметры действия «Получить текст элемента». Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

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

Установить значение списка / Set the list value

Задача: открыто окно «Параметры», необходимо выбрать в выпадающем списке значение 150% (текущее значение - 100%).

Решение: воспользоваться действием «Установить значение списка».

Реализация:

  • Перенести на рабочую область действие «Установить значение списка».

  • Настроить параметры действия «Установить значение списка». Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Значение списка установлено - 150%.

Проверить существование элемента / Check for the existence of an element

Задача: Открыто 3 окна, необходимо проверить существование элемента «Поставить на паузу» (окно открыто последним).

Реализация:

  • Перенести действие «Проверить существование элемента» и заполнить его параметры. Элемент необходимо получить с помощью инструмента WinSpy. Работа с WinSpy описана в разделе Получение win-элемента.

Установка тайм-аута, в целом, не приводит к увеличению времени выполнения действия сверх того времени, которое потребуется для того, чтобы элемент, который мы используем в действии стал видимым и доступным. В течение установленного тайм-аута действие пытается получить доступ к элементу с которым работает. Как только появляется доступ к элементу, ожидание тайм-аут заканчивается. Окна идут в порядке, в котором запускались. (Поле «Номер окна»).

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Элемент найден, возвращено значение «true».

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

Робот вернет ошибку, если:

  • окно не найдено,
  • введен несуществующий номер окна.

Действие ищет на экране элемент, запрашиваемый пользователем. Пользователь вводит свойства искомого элемента в поле «Элемент» . Действие возвращает результат «true», когда элемент найден. Если искомый элемент не находится, то результом действия будет «false».

Если найдено несколько элементов, которые подходят под указанные параметры, действие не должно вызывать ошибку. Действие возвращает значение «true».

Если в поле указан номер окна =1, а элемент находится в другом окне, то действие вернет «false».

Если указан номер окна за диапазоном количества окон (>), то взаимодействие происходит с первым открытым окном. Если открыто одно окно, то параметр «Номер окна» игнорируется, не выпадет ошибка, НО в случае, когда введено отрицательное значение, робот выдаст ошибку.

Окна идут в порядке, в котором запускались.

Работа с окнами

Активировать окно / Activate window

Задача: существует свернутое окно «Параметры». Необходимо его активировать.

Решение: воспользоваться действием «Активировать окно».

Реализация:

  • Перетащить на рабочую область действие «Активировать окно».

и настроить его параметры:

В поле «Имя окна» указать имя окна, которое необходимо активировать. В поле «Номер окна» указать - 1.

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат:

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

Окно активировано.

Закрыть окно, если существует / Close window if exists

Задача: существует открытое окно «Параметры». Необходимо его закрыть.

Решение: воспользоваться действием «Закрыть окно, если существует».

Реализация:

  • Перетащить на рабочую область действие «Закрыть окно, если существует».

и настроить его параметры:

В поле «Имя окна» указать имя окна, которое необходимо закрыть. В поле «Тайм-аут» указать - 3000.

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат:

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

Максимизировать окно / Maximize window

Задача: существует открытое окно «Параметры». Необходимо его открыть на весь экран.

Решение: воспользоваться действием «Максимизировать окно».

Реализация:

  • Перетащить на рабочую область действие «Максимизировать окно».

и настроить его параметры:

В поле «Имя окна» указать имя окна, которое необходимо максимизировать. В поле «Тайм-аут» указать - 3000.

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат:

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

Окно открыто на весь экран.

Получить имя активного окна / Get active window name

Задача: существует открытое окно с названием «Параметры». Необходимо записать название окна в текстовую переменную.

Решение: воспользоваться действием «Получить имя активного окна».

Реализация:

  • Перетащить действие «Получить имя активного окна» на рабочую область.

и заполнить параметр «Результат» текстовой переменной, созданной заранее.

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Название активного окна на экране записано в переменную.

Проверить существование окна / Сheck if the window exists

Задача: на экране имеется окно с названием «Skype». Необходимо проверить существование окна и результат записать в логическую переменную.

Решение: воспользоваться действием «Проверить существование окна».

Реализация:

  • Перетащить на рабочую область действие «Проверить существование окна».

и заполнить его параметры:

В поле «Имя окна» указать имя окна существование, которого необходимо проверить. В поле «Результат» указать логическую переменную, созданную заранее.

  • Запустить робота по кнопке «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Существование требуемого окна проверено и результат записан в переменную.

Свернуть окно / Minimize window

Задача: открыто окно «Параметры», необходимо его свернуть.

Решение: воспользоваться действием «Свернуть окно».

Реализация:

  • Перетащить на рабочую область действие «Свернуть окно».

и настроить его параметр.

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

Программный робот отработал успешно. Окно «Параметры» свернуто.

Сменить язык / Change language

Задача: существует открытое окно «Mail», необходимо сменить язык написания текста на английский и ввести в поле ввода значение «Test».

Решение: воспользоваться действиями «Сменить язык», «Ввести текст».

Реализация:

  • Собрать схему робота, состоящую из действий:

  • Настроить параметры для действия «Сменить язык».

  • Настроить параметры для действия «Ввести текст».

  • Нажать на кнопку «Старт» в верхней панели.

Результат:

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

Требуемое значение введено в поле ввода.