def wait_for_element(self, timeout=None, message='', *args, **kwds):
        """
        Shortcut for waiting for 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(...))

        .. versionchanged:: 2.5
            Waits only for visible elements.
        .. versionchanged:: 2.6
            Returned functionality back in favor of new method
            :py:meth:`~._WebdriverBaseWrapper.wait_for_element_show`.
        """
        if not timeout:
            timeout = self.default_wait_timeout
        if not message:
            message = _create_exception_msg(*args, url=self.current_url, **kwds)
        self.wait(timeout).until(lambda driver: driver.get_elm(*args, **kwds), message=message)

        # Also return that element for which is waiting.
        elm = self.get_elm(*args, **kwds)
        return elm
Shortcut for waiting for 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(...))

        .. versionchanged:: 2.5
            Waits only for visible elements.
        .. versionchanged:: 2.6
            Returned functionality back in favor of new method
            :py:meth:`~._WebdriverBaseWrapper.wait_for_element_show`.