Doesn't rise NoSuchElementException in case if there are no element with the selector.
        In this case ``exists()`` and ``is_displayed()`` methods of the element will return *False*.
        Attempt to call any other method supposed to interact with browser will raise NoSuchElementException.

        usages with ``'one string'`` selector:
         - find_element(by: str) -> PageElement
         - find_element(by: str, value: T <= PageElement) -> T

        usages with ``'webdriver'`` By selector
         - find_element(by: str, value: str) -> PageElement
         - find_element(by: str, value: str, el_class: T <= PageElement) -> T

        :type by: str
        :param by:
        :type value: str | T <= PageElement
        :param value:
        :type el_class: T <= PageElement
        :param el_class:
        :rtype: T <= PageElement
        :return:

def child_element(self, by=By.ID, value=None, el_class=None):
        """
        Doesn't rise NoSuchElementException in case if there are no element with the selector.
        In this case ``exists()`` and ``is_displayed()`` methods of the element will return *False*.
        Attempt to call any other method supposed to interact with browser will raise NoSuchElementException.

        usages with ``'one string'`` selector:
         - find_element(by: str) -> PageElement
         - find_element(by: str, value: T <= PageElement) -> T

        usages with ``'webdriver'`` By selector
         - find_element(by: str, value: str) -> PageElement
         - find_element(by: str, value: str, el_class: T <= PageElement) -> T

        :type by: str
        :param by:
        :type value: str | T <= PageElement
        :param value:
        :type el_class: T <= PageElement
        :param el_class:
        :rtype: T <= PageElement
        :return:
        """
        el, selector = define_selector(by, value, el_class)
        return self._init_element(el(selector))