def find(self, selector: str = "<STR_LIT:*>", *, containing: _Containing = None, clean: bool = False, first: bool = False, _encoding: str = None) -> _Find:
<EOL>if isinstance(containing, str):<EOL><INDENT>containing = [containing]<EOL><DEDENT>encoding = _encoding or self.encoding<EOL>elements = [<EOL>Element(element=found, url=self.url, default_encoding=encoding)<EOL>for found in self.pq(selector)<EOL>]<EOL>if containing:<EOL><INDENT>elements_copy = elements.copy()<EOL>elements = []<EOL>for element in elements_copy:<EOL><INDENT>if any([c.lower() in element.full_text.lower() for c in containing]):<EOL><INDENT>elements.append(element)<EOL><DEDENT><DEDENT>elements.reverse()<EOL><DEDENT>if clean:<EOL><INDENT>elements_copy = elements.copy()<EOL>elements = []<EOL>for element in elements_copy:<EOL><INDENT>element.raw_html = lxml_html_tostring(cleaner.clean_html(element.lxml))<EOL>elements.append(element)<EOL><DEDENT><DEDENT>return _get_first_or_list(elements, first)<EOL>
Given a CSS Selector, returns a list of
        :class:`Element <Element>` objects or a single one.

        :param selector: CSS Selector to use.
        :param clean: Whether or not to sanitize the found HTML of ``<script>`` and ``<style>`` tags.
        :param containing: If specified, only return elements that contain the provided text.
        :param first: Whether or not to return just the first result.
        :param _encoding: The encoding format.

        Example CSS Selectors:

        - ``a``
        - ``a.someClass``
        - ``a#someID``
        - ``a[target=_blank]``

        See W3School's `CSS Selectors Reference
        <https://www.w3schools.com/cssref/css_selectors.asp>`_
        for more details.

        If ``first`` is ``True``, only returns the first
        :class:`Element <Element>` found.