"""Модуль 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) -> None: """Отмечает чекбокс (устанавливает галочку).""" logger.info(f"Checking checkbox '{self.name}'") self.locator.check() def uncheck(self) -> None: """Снимает отметку с чекбокса (убирает галочку).""" logger.info(f"Unchecking checkbox '{self.name}'") 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()