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()