Skip to content

# Checkbox

Модуль checkbox_element содержит класс для работы с чекбоксами.

Класс Checkbox наследует базовый функционал BaseElement и добавляет специфичные методы для работы с элементами типа 'чекбокс'.

## `Checkbox`

Bases: `BaseElement`

Класс для работы с чекбоксами на странице.

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

Source code in `elements\checkbox_element.py`

    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    class Checkbox(BaseElement):
        """Класс для работы с чекбоксами на странице.

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

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

            Returns:
                str: Тип элемента - 'чекбокс'.
            """

            return "checkbox"

        # Действия:
        def check(self, force=False) -> None:
            """Отмечает чекбокс (устанавливает галочку)."""

            logger.info(f"Checking checkbox '{self.name}'")
            if force:
                self.locator.check(force=True)
            else:
                self.locator.check()

        def uncheck(self, force=False) -> None:
            """Снимает отметку с чекбокса (убирает галочку)."""

            logger.info(f"Unchecking checkbox '{self.name}'")
            if force:
                self.locator.uncheck(force=True)
            else:
                self.locator.uncheck()

        # Проверки:
        def is_checked(self) -> bool:
            """Проверяет, отмечен ли чекбокс.

            Returns:
                bool: True если отмечен, False если нет.
            """

            logger.info(f"Checking if checkbox '{self.name}' is checked")
            return self.locator.is_checked()

### `type_of` `property`

Возвращает тип элемента ('чекбокс').

Returns:

Name | Type | Description
--- | --- | ---
`str` | `str` | Тип элемента - 'чекбокс'.

### `check(force=False)`

Отмечает чекбокс (устанавливает галочку).

Source code in `elements\checkbox_element.py`

    31
    32
    33
    34
    35
    36
    37
    38
    def check(self, force=False) -> None:
        """Отмечает чекбокс (устанавливает галочку)."""

        logger.info(f"Checking checkbox '{self.name}'")
        if force:
            self.locator.check(force=True)
        else:
            self.locator.check()

### `is_checked()`

Проверяет, отмечен ли чекбокс.

Returns:

Name | Type | Description
--- | --- | ---
`bool` | `bool` | True если отмечен, False если нет.

Source code in `elements\checkbox_element.py`

    50
    51
    52
    53
    54
    55
    56
    57
    58
    def is_checked(self) -> bool:
        """Проверяет, отмечен ли чекбокс.

        Returns:
            bool: True если отмечен, False если нет.
        """

        logger.info(f"Checking if checkbox '{self.name}' is checked")
        return self.locator.is_checked()

### `uncheck(force=False)`

Снимает отметку с чекбокса (убирает галочку).

Source code in `elements\checkbox_element.py`

    40
    41
    42
    43
    44
    45
    46
    47
    def uncheck(self, force=False) -> None:
        """Снимает отметку с чекбокса (убирает галочку)."""

        logger.info(f"Unchecking checkbox '{self.name}'")
        if force:
            self.locator.uncheck(force=True)
        else:
            self.locator.uncheck()