Skip to Content

Чтение таблицы

alt

Элемент предназначен для автоматического извлечения данных из табличных элементов в пользовательских интерфейсах. Он корректно работает только внутри контейнера Присоединиться к приложению. Компонент считывает данные из таблицы, разделяет их на строки и столбцы, и сохраняет результаты в переменные для дальнейшего использования.

Свойства

Символ * в названии свойства указывает на обязательность заполнения.

СвойствоТипОписание
Вывод
ПеременнаяLTools.Desktop.Model.UIDataTableПеременная для хранения результатов чтения таблицы
Переменная (таблица)System.Data.DataTableПеременная для хранения результатов чтения таблицы
Общие
НаименованиеStringНазвание операции чтения таблицы
Отключить логированиеBooleanОтключение логирования данной операции
Пауза до (мс)Int32Время ожидания перед началом операции (мс)
Пауза после (мс)Int32Время ожидания после завершения операции (мс)
Продолжить при ошибкеBooleanПродолжение выполнения сценария в случае ошибки
Скриншот завершенияBooleanСделать скриншот после завершения операции
Скриншот ошибкиBooleanСделать скриншот в случае ошибки
Процесс
АлгоритмStringОпределяет способ чтения таблицы (Actual, Table Move)
Количество колонокInt32Количество столбцов таблицы для более точного чтения и разделения данных. Функция доступна с версии Студии 1.24.8
ОбластьStringКоординаты области, в которой происходит чтение данных
Обнаружить заголовкиBooleanФормирует заголовки из повторяющихся данных. Если все ячейки столбца содержат одинаковые значения, это значение объединяется с названием столбца в единый заголовок. Функция доступна с версии Студии 1.24.8
Таймаут*Int32Предельное время ожидания завершения процесса (мс)
Шаблон поискаStringШаблон поиска элемента управления
ЭлементLTools.Desktop.Model.DUIControlСсылка на элемент управления

Алгоритм: Определяет способ чтения таблицы.

  • Actual: Работает в зависимости от условий, обеспечивает чтение данных.
  • Table Move: Новый алгоритм (доступен только для Win32), предназначенный для полного считывания данных из виртуальных таблиц. Функция доступна с версии 1.24.8

Свойства LTools.Desktop.Model.UIDataTable

  • RowCount: [Int32] Количество строк
  • ColumnCount: [Int32] Количество столбцов
  • Headers: [List<String>] Заголовки колонок
  • Data: [List<List<String>>] Данные таблицы

Новый алгоритм Table Move

Новый мастер чтения таблиц

С версии 1.25.1 улучшен инструмент Мастер чтения таблиц. Этот инструмент позволяет эффективно настраивать, извлекать и обрабатывать данные из веб-таблиц.

Окно “Парсинг данных” отображает информацию о количестве извлечённых строк и столбцов. Если данные не найдены, отображается 0 строк, 0 столбцов. Содержит следующие элементы:

  • Кнопка “Подтвердить”: Завершает процесс извлечения с текущими настройками.
  • Кнопка “Настройки” (иконка шестерёнки)

Дополнительные параметры настройки:

    • Сохранить в переменную — позволяет сохранить извлечённые данные в указанную переменную.
    • Ограничить извлечение — устанавливает ограничения на количество строк и столбцов.
    • Дополнительные параметры — позволяют задать специфические настройки для точного извлечения данных.

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

Как использовать мастер чтения таблиц

  1. В активности Чтение таблицы нажмите на кнопку “Мастер”.
  2. Укажите место считывания данных на экране.
  3. Подтвердите процесс извлечения с текущими настройками.
  4. Дождитесь завершения прогресса парсинга.
  5. Проверьте предварительный результат в окне “Парсинг данных”.
  6. При необходимости откройте Настройки для уточнения параметров извлечения.
  7. Подтвердите процесс, нажав кнопку “Подтвердить”.
  8. Если требуется повторная настройка, воспользуйтесь опцией сброса параметров и начните процесс заново.

Если необходимо воспользоваться старым мастером чтения таблиц, то перейдите в Настройки СтудииОбщиеЭлементы — Установить чек бокс Использовать старый мастер чтения таблиц.

Только код

Пример использования элемента в процессе с типом Только код (Pure code)

LTools.Desktop.DesktopApp app = LTools.Desktop.DesktopApp.Init(wf, null, "Test_*", 20000, true, LTools.Desktop.Model.DesktopTypes.UIAUTOMATION); //Шаблон поиска LTools.Desktop.Model.UIDataTable tbl = app.ReadDataGrid("{\"Name\":\"\",\"AutomationID\":\"dtgrdSample\",\"ClassName\":\"DataGrid\",\"AUIProperties\":[],\"TextSearchMode\":0,\"IsRoot\":false,\"IsQuickSearch\":false}"); //Элемент LTools.Desktop.Model.DUIControl el = app.FindElement("{\"Name\":\"\",\"AutomationID\":\"dtgrdSample\",\"ClassName\":\"DataGrid\",\"AUIProperties\":[],\"TextSearchMode\":0,\"IsRoot\":false,\"IsQuickSearch\":false}"); tbl = app.ReadDataGrid(el); foreach (var r in tbl.Data) foreach (var c in r) LTools.Workflow.PrimoApp.AddToLog(wf, c);