From 2a24e703855f5cf98be950bbe075abea1b8d2ad9 Mon Sep 17 00:00:00 2001 From: CREATIVE_tg1 Date: Fri, 7 Nov 2025 13:45:12 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 73 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 555d87b..89c2930 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,74 @@ -# get-mui-table +# Сбор виртуальных таблиц из Material-UI -Собирает виртуальные таблицы из MUI \ No newline at end of file +## Описание + +Этот проект предназначен для сбора данных из виртуальных таблиц компонента 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 \ No newline at end of file