41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
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() |