Files
doczyai-pipelines/Doczy.AI_Automation/utils/element_related_methods.py
T
2024-09-27 15:47:32 +01:00

52 lines
1.5 KiB
Python

from selenium.common import TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from tests.conftest import config
from utils.CustomException import NoElementFound, TitleNotFound
def get_clickable_element(driver, config, By, element_id):
try:
element = WebDriverWait(driver, timeout=config['timeout']).until(
ec.element_to_be_clickable((By, element_id))
)
except TimeoutException:
# print("NoElement")
raise NoElementFound(element_id, config['timeout'])
return element
def get_element(driver, config, By, element_id):
try:
return WebDriverWait(driver, timeout=config['timeout']).until(
ec.visibility_of_element_located((By, element_id))
)
except TimeoutException:
# print("NoElement")
raise NoElementFound(element_id, config['timeout'])
def get_invisible_element(driver, config, By, element_id):
try:
return WebDriverWait(driver, timeout=config['timeout']).until(
ec.presence_of_element_located((By, element_id))
)
except TimeoutException:
# print("NoElement")
raise NoElementFound(element_id, config['timeout'])
def get_title(driver, config, title):
try:
return WebDriverWait(driver, timeout=config['timeout']).until(
ec.title_contains(title)
)
except TimeoutException:
# print("NoElement")
raise TitleNotFound(title, config['timeout'])