| from selenium.webdriver.remote.webdriver import WebDriver | |
| from selenium.common.exceptions import TimeoutException | |
| def wait_for_element( | |
| driver: WebDriver, by_selector: str, selector_value: str, timeout: int = 2 | |
| ): | |
| from selenium.webdriver.support.wait import WebDriverWait | |
| from selenium.webdriver.support import expected_conditions as EC | |
| element = None | |
| try: | |
| element = WebDriverWait(driver, timeout).until( | |
| EC.presence_of_element_located((by_selector, selector_value)) | |
| ) | |
| except TimeoutException: | |
| element = None | |
| finally: | |
| return element | |
| def find_and_click(driver: WebDriver, by_selector: str, selector_value: str): | |
| element = driver.find_element(by=by_selector, value=selector_value) | |
| if element: | |
| element.click() | |