# Исходный код pages.location_page

    """Модуль страницы локации."""

    from playwright.sync_api import Page
    from components.toolbar_component import ToolbarComponent
    from components_derived.frames.create_child_element_frame import (
        CreateChildElementFrame
    )
    from pages.base_page import BasePage

    # =============== Локаторы ================================================
    PANEL_HEADER = "//span[text()='Объекты']/following-sibling::i"
    CREATE_BUTTON_ANCESTOR_DIV3 = "xpath=/ancestor::div[3]//button"
    # =========================================================================

    class LocationPage(BasePage):
        """Класс для работы со страницей локации."""

        def __init__(self, page: Page) -> None:
            """
            Инициализирует страницу локации.

            Args:
                page: Экземпляр страницы Playwright
            """
            super().__init__(page)

            # Инициализация тулбара
            self.toolbar = ToolbarComponent(page, "")

            panel_header_locator = self.page.locator(PANEL_HEADER)

            # Кнопка "Создать" - первая кнопка в тулбаре
            create_button_locator = panel_header_locator.locator(
                CREATE_BUTTON_ANCESTOR_DIV3
            ).nth(0)

            # Инициализация кнопки
            self.toolbar.add_tooltip_button(create_button_locator, "create")

            # Инициализация фреймов (ленивая загрузка)
            self._create_child_frame = None

        def click_create_button(self) -> CreateChildElementFrame:
            """
            Кликает на кнопку 'Создать' и возвращает фрейм создания.

            Returns:
                CreateChildElementFrame: Фрейм создания дочернего элемента
            """

            # Используем метод тулбара для клика
            self.toolbar.click_button("create")

            self.wait_for_timeout(3000)

            # Создаем и возвращаем фрейм
            self._create_child_frame = CreateChildElementFrame(self.page)
            return self._create_child_frame

        def is_create_button_visible(self) -> bool:
            """
            Проверяет видимость кнопки 'Создать'.

            Returns:
                bool: True если кнопка видима
            """
            button = self.toolbar.get_button_by_name("create")

            if button is None:
                return False

            return button.is_present(timeout=5000) and button.locator.is_visible()

        def wait_for_timeout(self, timeout: int) -> None:
            """
            Ожидает указанное количество миллисекунд.

            Args:
                timeout: Время ожидания в миллисекундах
            """
            self.page.wait_for_timeout(timeout)