def open_any_article(driver: WebDriver) -> str: article_links = find_elements(driver, ADVICE_ARTICLE_LINKS) link = random.choice(article_links) link_text = link.text check_if_element_is_visible(link, element_name=link_text) with wait_for_page_load_after_action(driver): link.click() return link_text
def open(driver: WebDriver, group: str, element: str): selector = SELECTORS[group.lower()][element.lower()] link = find_element(driver, selector, element_name=element, wait_for_it=True) check_if_element_is_visible(link, element_name=element) link.click() take_screenshot(driver, NAME + " after clicking on: %s link".format(element))
def should_see_following_sections(driver: WebDriver, names: List[str]): # desc = ["dashboard"] # check_for_sections(driver, all_sections=SELECTORS, sought_sections=names) # section = SELECTORS["dashboard"] names = [each_string.lower() for each_string in names] for key, selector in section.items(): logging.debug(key) if key in names: element = find_element( driver, selector, element_name=key, ) check_if_element_is_visible(element, element_name=key)
def open(driver: WebDriver, group: str, element: str, *, same_tab: bool = True): selector = SELECTORS[group.lower()][element.lower()] link = find_element(driver, selector, element_name=element, wait_for_it=False) check_if_element_is_visible(link, element_name=element) if same_tab: href = link.get_attribute("href") logging.debug("Opening '%s' link '%s' in the same tab", element, href) driver.get(href) else: with wait_for_page_load_after_action(driver): link.click() take_screenshot(driver, NAME + " after clicking on: %s link".format(element))