Получить таблицу Версия 12 (Java)
Группа действий: Браузеры
Описание
Данное действие предназначено для получения таблицы в переменную
Иконка действия
Параметры и их настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
---|---|---|---|---|
Параметры | ||||
Контекст | Контекст действия для работы с браузером | Robin.Selenium | Контекст браузера | Да |
Элемент | Элемент для взаимодействия | Robin.WebElement | Да | |
С заголовком | Если значение параметра равно true, то заголовок таблицы будет выделен отдельно | Robin.Boolean | true | Нет |
Удалять пустые | Если значение параметра равно true, то будут удалены пустые строки/столбцы | Robin.Boolean | true | Нет |
Результаты | ||||
Результат | Результирующая переменная с данными в виде таблицы | Robin.DataTable |
Особые условия использования
Действие применимо только для элементов с типом table.
Для чекбокса "С заголовком"
Работа параметра: При значении "true" действие первую строку исходной таблицы сохранит в заголовок возвращаемого табличного значения, т.е. она не будет являться строкой с содержимым таблицы.
При "false" первую строку оставит в части с содержимым таблицы, а в заголовке будут использоваться названия по умолчанию - 1, 2, 3 и т.д.
Пример:
Забираем таблицу:
При включенном параметре в логе будет указано "Столбцов: 3; строк: 2", т.к. Первая строка взятой области стала заголовком с названиями столбцов "№", "Название" и "Тесты". К этим заголовкам нельзя обратиться как к строке данных, чтобы прочитать, но можно использовать имена столбцов, чтобы обратиться к конкретной ячейке или столбцу (действиями из группы "Таблицы"). Если параметр выключен, то в логе будет указано "Столбцов: 3; строк: 3", названия столбцов в заголовке будут "1", "2" и "3".
Для чекбокса "Убрать дубли заголовка"
- При значении "false", названия столбцов останутся прежними;
- При значении "true", для каждого названия столбца полученной таблицы выполняется проверка;
- Есть ли в таблице еще столбец с таким же названием? Если нет, столбец пропускается, проверяется следующий. Если есть, то к названию текущего столбца добавляется индекс (нумерация начинается с 1).
- Для нового названия проверка повторяется. Но если теперь есть дубль и для нового названия, то к нему еще раз индекс не добавляется, а увеличивается текущий индекс на 1. Этот пункт проверки повторяется до тех пока для нового названия не останется дублей.
- Изменения порядка столбцов по их новым названиям не происходит. Например, были названия "Тест4", "Тест" и "Тест". После изменения дублей названия последних 2х столбцов поменяются, но порядок останется тем же:
Было: "Тест4", "Тест", "Тест"
Стало: "Тест4", "Тест1", "Тест"
Неверный вариант: "Тест", "Тест1", "Тест4".
Пример переименования столбцов
В браузере есть таблица:
При "Убрать дубли заголовка" = true, и "С заголовком" = True, действие вернет таблицу с 5 неповторяющимися заголовками. Переименование столбцов будет происходить так:
- 1-ый столбец имеет дубль во 2м столбце. К названию нужно добавить 1 (будет "Тест1"), но если так сделать, то получится дубль с 3м столбцом. Поэтому увеличиваем индекс - 2 (будет "Тест2"), но и с таким индексом будет дубль - с 4 и 5 столбцами. Еще раз увеличиваем индекс - 3, для полученного названия "Тест3" дублей нет, оставляем его. Полученные столбцы:
;
- 2-ой и 3-ий столбцы не имеют дублей, их пропускаем;
- 4-ый столбец имеет дубль в 5м столбце. К названию нужно добавить 1 (будет "Тест21"), с таким индексом дублей нет в других столбцах. Полученные столбцы:
; - 5-ый столбец не имеет дублей. Проверка завершается.
Пример использования
Задача
Получить таблицу в переменную "Таблица", расположенную на странице в интернете.
Решение
Воспользоваться действиями "Открыть браузер", "Перейти по URL", "Получить таблицу".
Реализация
- Собрать схему робота, состоящую из действий.
- Настроить параметр для действия "Открыть браузер".
- Настроить параметр для действия "Перейти по URL".
- Настроить параметры для действия "Получить таблицу". Подробнее про заполнение поля "Элемент" в разделе Создание Web-элементов.
- Запустить робота по кнопке "Старт" в верхней панели.
Результат
Программный робот отработал успешно. Таблица получена.