code: def wait_for_element_present(driver, selector, by=By.CSS_SELECTOR,
                               timeout=settings.LARGE_TIMEOUT):
      
  
      element = None
      start_ms = time.time() * 1000.0
      stop_ms = start_ms + (timeout * 1000.0)
      for x in range(int(timeout * 10)):
          try:
              element = driver.find_element(by=by, value=selector)
              return element
          except Exception:
              now_ms = time.time() * 1000.0
              if now_ms >= stop_ms:
                  break
              time.sleep(0.1)
      if not element:
          raise NoSuchElementException(
              "Element {%s} was not present after %s seconds!" % (
                  selector, timeout))
docs: Searches for the specified element by the given selector. Returns the
      element object if the element is present on the page. The element can be
      invisible. Raises an exception if the element does not appear in the
      specified timeout.
      @Params
      driver - the webdriver object
      selector - the locator that is used (required)
      by - the method to search for the locator (Default: By.CSS_SELECTOR)
      timeout - the time to wait for elements in seconds
      @Returns
      A web element object