Files
doczyai-pipelines/Doczy.AI_Automation/utils/element_related_methods.py
T
Michael McGuinness 037909db74 format codebase
2024-09-30 12:21:29 +01:00

49 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"])