3.6 KiB
3.6 KiB
Сбор виртуальных таблиц из Material-UI
Описание
Этот проект предназначен для сбора данных из виртуальных таблиц компонента Material-UI DataGrid. В проекте представлены два скрипта, реализующих сбор данных с использованием разных инструментов автоматизации:
get_mui_table_playwright.py- реализация с использованием Playwrightget_mui_table_selinium.py- реализация с использованием Selenium (Selenoid) # в данный момент не реализовано
Функционал
- Сбор данных из виртуальных таблиц Material-UI DataGrid
- Обработка чекбоксов и других элементов в ячейках таблицы
- Извлечение данных из таблиц с виртуальным скроллом
- Поддержка двух инструментов автоматизации: Playwright и Selenium
- Замер времени выполнения сбора данных
Как это работает
Проект использует подход виртуального скролла для сбора всех данных из таблицы:
- Скрипт запускает браузер и переходит на страницу с таблицей
- Выполняется авторизация (для Playwright версии)
- Ожидается загрузка таблицы с классом
.MuiDataGrid-virtualScroller - Выполняется JavaScript код, который:
- Находит контейнер виртуального скролла таблицы
- Прокручивает таблицу пошагово
- Извлекает видимые строки на каждом шаге
- Отслеживает уже собранные строки, чтобы избежать дубликатов
- Продолжает прокрутку до тех пор, пока не будут собраны все данные
- Результаты сохраняются в формате JSON
Производительность
Среднее время сбора таблицы из 100 элементов составляет 3 секунды.
Файлы проекта
get_mui_table_playwright.py- скрипт сбора данных с использованием Playwrightget_mui_table_selinium.py- скрипт сбора данных с использованием Selenium
Требования
- Python 3.x
- Библиотеки Playwright или Selenium (в зависимости от используемого скрипта)
- Доступ к странице с таблицей Material-UI DataGrid
Установка
-
Установите зависимости:
pip install playwright selenium -
Для Playwright также установите браузерные драйверы:
playwright install -
Для Selenium убедитесь, что у вас запущен Selenoid сервер
Использование
-
Отредактируйте параметры подключения в скрипте (URL, логин, пароль)
-
Запустите нужный скрипт:
python get_mui_table_playwright.pyили
python get_mui_table_selinium.py -
Результаты будут выведены в консоль в формате JSON