def wait_for_element_show(self, timeout=None, message='', *args, **kwds):
        """
        Shortcut for waiting for visible element. If it not ends with exception, it
        returns that element. Detault timeout is `~.default_wait_timeout`.
        Same as following:

        .. code-block:: python

            selenium.webdriver.support.wait.WebDriverWait(driver, timeout).until(lambda driver: driver.get_elm(...))

        .. versionadded:: 2.6
        """
        if not timeout:
            timeout = self.default_wait_timeout
        if not message:
            message = _create_exception_msg(*args, url=self.current_url, **kwds)

        def callback(driver):
            elms = driver.get_elms(*args, **kwds)
            if not elms:
                return False
            try:
                if all(not elm.is_displayed() for elm in elms):
                    return False
            except selenium_exc.StaleElementReferenceException:
                # Some element can be out, but need to check all elements.
                # Let's wait for another run.
                return False
            return True
        self.wait(timeout).until(callback, message=message)

        # Also return that element for which is waiting.
        elm = self.get_elm(*args, **kwds)
        return elm
Shortcut for waiting for visible element. If it not ends with exception, it
        returns that element. Detault timeout is `~.default_wait_timeout`.
        Same as following:

        .. code-block:: python

            selenium.webdriver.support.wait.WebDriverWait(driver, timeout).until(lambda driver: driver.get_elm(...))

        .. versionadded:: 2.6