Files
get-mui-table/README.md

74 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Сбор виртуальных таблиц из 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