Open
Description
The document (version 0.9.1) says:
:not()
accepts a sequence of simple selectors, not just single simple selector. For example,:not(a.important[rel])
is allowed, even though the negation contains 3 simple selectors.
May I ask what is a simple selector? Can :not()
support something like :not(a>b)
?
>>> import cssselect
>>> cssselect.parse('a:not(p>a)')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/site-packages/cssselect/parser.py", line 355, in parse
return list(parse_selector_group(stream))
File "/usr/lib/python3.4/site-packages/cssselect/parser.py", line 370, in parse_selector_group
yield Selector(*parse_selector(stream))
File "/usr/lib/python3.4/site-packages/cssselect/parser.py", line 378, in parse_selector
result, pseudo_element = parse_simple_selector(stream)
File "/usr/lib/python3.4/site-packages/cssselect/parser.py", line 471, in parse_simple_selector
raise SelectorSyntaxError("Expected ')', got %s" % (next,))
cssselect.parser.SelectorSyntaxError: Expected ')', got <DELIM '>' at 7>