# Исходный код elements.tooltip_button_element

    """Модуль tooltip_button_element содержит класс для работы с кнопками с подсказками.

    Класс TooltipButton наследует базовый функционал BaseElement и добавляет
    методы для проверки всплывающих подсказок у кнопок.
    """

    from tools.logger import get_logger
    from locators.button_locators import ButtonLocators
    from elements.base_element import BaseElement

    logger = get_logger("TOOLTIP_BUTTON")

    class TooltipButton(BaseElement):
        """Класс для работы с кнопками, имеющими всплывающие подсказки.

        Наследует функциональность BaseElement и добавляет методы
        для взаимодействия с подсказками кнопок.
        """

        @property
        def type_of(self) -> str:
            """Возвращает тип элемента ('tooltip_button').

            Returns:
                str: Тип элемента - кнопка с подсказкой.
            """

            return "tooltip_button"

        # Действия:

        def get_tooltip_text(self) -> str:
            """Возвращает текст всплывающей подсказки.

            Returns:
                str: Текст всплывающей подсказки.

            """

            # Наведение на элемент для отображения подсказки
            self.locator.hover()

            # Получение элемента подсказки
            tooltip = self.page.locator(ButtonLocators.TOOLTIP)

            tooltip.wait_for(state="visible", timeout=5000)

            self.page.wait_for_timeout(300)
            return tooltip.text_content().strip()

        def wait_for_tooltip_to_disappear(self, timeout: int = 5000) -> None:
            """Ожидает исчезновения всех активных всплывающих подсказок."""

            self.page.mouse.click(10, 10)
            tooltip_locator = self.page.locator(".v-tooltip__content.menuable__content__active")

            tooltip_locator.wait_for(state="hidden", timeout=timeout)

        # Проверки:

        def check_tooltip_with_text(self, expected_text: str) -> None:
            """Проверяет соответствие текста всплывающей подсказки.

            Args:
               expected_text (str): Ожидаемый текст подсказки.

            Raises:
                AssertionError: Если текст подсказки не соответствует ожидаемому.
            """

            # Наведение на элемент для отображения подсказки
            self.locator.hover()

            # Получение элемента подсказки
            tooltip = self.page.locator(ButtonLocators.TOOLTIP)

            tooltip.wait_for(state="visible", timeout=5000)

            self.page.wait_for_timeout(300)

            # Проверка соответствия текста
            actual_text = tooltip.text_content().strip()
            assert actual_text == expected_text, (
                f"Текст подсказки не соответствует ожидаемому. "
                f"Ожидалось: '{expected_text}', получено: '{actual_text}'"
            )