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