diff --git a/src/css_selectors/select.py b/src/css_selectors/select.py index 0d29d4f906..83589a1ee0 100644 --- a/src/css_selectors/select.py +++ b/src/css_selectors/select.py @@ -125,6 +125,8 @@ class Select(object): } def __init__(self, root, default_lang=None, dispatch_map=None, trace=False): + if hasattr(root, 'getroot'): + root = root.getroot() self.root = root self.dispatch_map = dispatch_map or default_dispatch_map self.invalidate_caches() @@ -568,4 +570,4 @@ if __name__ == '__main__': from pprint import pprint root = etree.fromstring('
') select = Select(root, trace=True) - pprint(list(select('p *:root'))) + pprint(list(select('p')))