Исходный код elements.checkbox_element

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

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

from tools.logger import get_logger
from elements.base_element import BaseElement

logger = get_logger("CHECKBOX")


[документация] 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()