Parse ``html`` to DOM and insert to ``position``.

        ``position`` is a case-insensive string, and must be one of
        "beforeBegin", "afterBegin", "beforeEnd", or "afterEnd".

def insertAdjacentHTML(self, position: str, html: str) -> None:
        """Parse ``html`` to DOM and insert to ``position``.

        ``position`` is a case-insensive string, and must be one of
        "beforeBegin", "afterBegin", "beforeEnd", or "afterEnd".
        """
        df = self._parse_html(html)
        pos = position.lower()
        if pos == 'beforebegin':
            self.before(df)
        elif pos == 'afterbegin':
            self.prepend(df)
        elif pos == 'beforeend':
            self.append(df)
        elif pos == 'afterend':
            self.after(df)
        else:
            raise ValueError(
                'The value provided ({}) is not one of "beforeBegin", '
                '"afterBegin", "beforeEnd", or "afterEnd".'.format(position)
            )