diff --git a/src/css_selectors/select.py b/src/css_selectors/select.py index 1d4c6db8e8..583471ac81 100644 --- a/src/css_selectors/select.py +++ b/src/css_selectors/select.py @@ -548,6 +548,7 @@ def select_pseudo(cache, pseudo): if pseudo.ident in cache.ignore_inappropriate_pseudo_classes: def func(cache, item): return True + func.is_pseudo = True else: raise ExpressionError( "The pseudo-class :%s is not supported" % pseudo.ident) @@ -615,5 +616,5 @@ default_dispatch_map = {name.partition('_')[2]:obj for name, obj in globals().it if __name__ == '__main__': from pprint import pprint root = etree.fromstring('
') - select = Select(root, trace=True) + select = Select(root, ignore_inappropriate_pseudo_classes=True, trace=True) pprint(list(select('p:disabled'))) diff --git a/src/css_selectors/tests.py b/src/css_selectors/tests.py index dde8a696c7..bcc09288b1 100644 --- a/src/css_selectors/tests.py +++ b/src/css_selectors/tests.py @@ -759,6 +759,9 @@ by William Shakespeare self.assertRaises(ExpressionError, lambda : tuple(select('body:nth-child'))) + select = Select(document, ignore_inappropriate_pseudo_classes=True) + self.assertGreater(len(tuple(select('p:hover'))), 0) + del app def test_select_shakespeare(self):