Files
get-mui-table/README.md

3.6 KiB
Raw Blame History

Сбор виртуальных таблиц из 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. Установите зависимости:

    pip install playwright selenium
    
  2. Для Playwright также установите браузерные драйверы:

    playwright install
    
  3. Для Selenium убедитесь, что у вас запущен Selenoid сервер

Использование

  1. Отредактируйте параметры подключения в скрипте (URL, логин, пароль)

  2. Запустите нужный скрипт:

    python get_mui_table_playwright.py
    

    или

    python get_mui_table_selinium.py
    
  3. Результаты будут выведены в консоль в формате JSON