diff --git a/requests_html.py b/requests_html.py index eb27eba..a6c80e8 100644 --- a/requests_html.py +++ b/requests_html.py @@ -416,9 +416,9 @@ class HTML(BaseParser): if isinstance(html, str): html = html.encode(DEFAULT_ENCODING) + pq = PyQuery(html) super(HTML, self).__init__( - # Convert unicode HTML to bytes. - element=PyQuery(html)('html') or PyQuery(f'{html}')('html'), + element=pq('html') or pq.wrapAll('')('html'), html=html, url=url, default_encoding=default_encoding diff --git a/tests/test_requests_html.py b/tests/test_requests_html.py index 05c2bf7..2aaee23 100644 --- a/tests/test_requests_html.py +++ b/tests/test_requests_html.py @@ -173,6 +173,15 @@ def test_absolute_links(url, link, expected): assert html.absolute_links.pop() == expected +@pytest.mark.parser +def test_parser(): + doc = """httpbin.org\n""" + html = HTML(html=doc) + + assert html.find('html') + assert html.element('a').text().strip() == 'httpbin.org' + + @pytest.mark.render def test_render(): r = get()