from elements.base_element import BaseElement from tools.logger import get_logger logger = get_logger("CHECKBOX") class Checkbox(BaseElement): """Класс для работы с элементами типа 'чекбокс' на странице. Наследует функциональность базового элемента и добавляет специфичные для чекбоксов методы. """ @property def type_of(self) -> str: """Возвращает тип элемента - 'чекбокс'. Returns: Строка с типом элемента. """ 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: True, если чекбокс отмечен, иначе False. """ logger.info(f'Checking if checkbox "{self.name}" is checked') return self.locator.is_checked()