42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
from tools.logger import get_logger
|
||
from elements.base_element import BaseElement
|
||
|
||
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()
|