Документация 0.4 Справочник действий
Ввести текст
ui.typeInto · Windows
Вводит текст в поле Windows-приложения
Вводит текст в поле Windows-приложения: логин, сумму, номер документа. Кириллица и любые символы вводятся независимо от раскладки клавиатуры.
Свойства #
| Свойство | Имя в файле | Значение | Обязательное | По умолчанию | Описание |
|---|---|---|---|---|---|
| Селектор | selector |
селектор Windows | да | — | |
| Текст | text |
текст | да | — | |
| Очистить поле | clearBefore |
да/нет | нет | да | |
| Способ | method |
выбор из списка | нет | auto |
auto — записать значение (ValuePattern), если поле это поддерживает, иначе ввод с клавиатуры. Значения: auto, value, keyboard. |
| Специальные клавиши | specialKeys |
да/нет | нет | нет | Распознавать [Enter], [Tab], [Esc], [Ctrl+A], [F1] … в тексте; символ [ пишется как [[ |
| Таймаут, мс | timeoutMs |
число | нет | 10000 |
Результат #
Действие не возвращает значений.
Как работает #
- Селектор (
selector) — путь к элементу от окна приложения. Задаётся пикером: кнопка «Указать на экране», наведите курсор на элемент и нажмите Ctrl. Проверить, что селектор находит элемент, — «Подсветить»; поправить вручную — «Изменить». Подробнее — Пикер элементов. - Текст (
text) — с подстановками{{ }}:{{ client['ФИО'] }}. Пароль изorch.getCredentialподставляйте так же — в логах он скрыт. - Очистить поле (
clearBefore, включено) — заменить содержимое поля; выключено — дописать в конец. - Способ (
method):auto— записать значение напрямую (ValuePattern), если поле это поддерживает и не только для чтения; иначе ввод с клавиатуры;value— только напрямую;keyboard— всегда с клавиатуры: робот активирует окно, ставит фокус в поле и печатает. Нужен полям, которые реагируют на нажатия (автодополнение, маски ввода).
- Специальные клавиши (
specialKeys) — распознавать в тексте[Enter],[Tab],[Esc],[Backspace],[Delete], стрелки[Up][Down][Left][Right],[Home],[End],[F1]…[F12]и сочетания вида[Ctrl+A]. Символ[пишется как[[. Со специальными клавишами текст вводится только с клавиатуры. - Таймаут, мс (
timeoutMs, по умолчанию 10000) — сколько ждать появления элемента; поиск повторяется каждые 200 мс. Если элемент нашёлся за 2 с и дольше, в лог пишется совет уточнить селектор.
Ошибки #
| Код | Причина и что делать |
|---|---|
ElementNotFound |
Элемент не найден за время ожидания: окно не открыто, свёрнуто под другим или интерфейс изменился. Проверьте селектор кнопкой «Подсветить», при необходимости укажите элемент заново |
InvalidArgument |
Способ value, а поле не принимает значение напрямую; специальные клавиши со способом value; незакрытая [ или неизвестная клавиша; не удалось сделать окно активным (ввод отменён, чтобы не печатать в чужое окно) |
Timeout |
Поле остаётся недоступным до конца таймаута |
Unknown |
Windows не принял ввод с клавиатуры — часто окно программы запущено от администратора, а робот нет |
При ошибке робот сохраняет снимок экрана: в студии он открывается по ссылке «Открыть скриншот» в «Лог», в оркестраторе — на странице задания.
Пример #
{
"type": "ui.typeInto",
"props": {
"selector": { "kind": "uia", "path": [ { "processName": "Tulpar.TestApp", "controlType": "Window", "name": "Tulpar Test App" }, { "controlType": "Edit", "automationId": "txtName" } ] },
"text": "{{ userName }}", "clearBefore": true, "method": "auto"
}
}