cssselect
cssselect copied to clipboard
CSS Selectors for Python
Closes #76.
#51 done: parse complex selector, with any type of combinators (`>`, `+`, `~`, ` `), translating to xpath all those combinators according to [this comment](https://github.com/scrapy/cssselect/issues/51#issuecomment-892830477) this pr also includes code...
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...
In CSS, [it turns out you can specify a colon in an attribute name by escaping it](https://stackoverflow.com/a/122266/939364). This is not valid: ```css ::attr(:foo) ``` But this is: ```css ::attr(\:foo) ```...
In issue #24 it is mentioned that https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier says: > cannot start with a digit, two hyphens, or a hyphen followed by a digit this pr adds validation for the...
The spec’ed syntax for ID selectors is `#` followed by an identifier, not any hash token. See the "type" flag on hash tokens in [css-syntax](http://dev.w3.org/csswg/css-syntax/#tokenization).
We have [a few issues open ](https://github.com/scrapy/cssselect/issues?q=is%3Aissue+is%3Aopen+label%3A%22CSS+Selectors+Level+4%22)about adding support for specific parts of the CSS Selectors Level 4 specification already. The aim, however, is to eventually reach complete support.
Added pyproject.toml. Version is now fetched from the latest git tag on the current branch. .gitignored bytecode cache files.