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