3 ms·
don't overlook the ability to mix and match them, because each "axis" is good at its own things response.xpath("//div[string-contains(@data-foo, "foo")").css
by mdaniel 2y ago
don't overlook the ability to mix and match them, because each "axis" is good at its own things
response.xpath("//div[string-contains(@data-foo, "foo")").css(".some-class").re(r"[a-z][a-zA-Z]+")
The .css() flavor gets complied down into .xpath() but there is no contest about their expressivity: https://github.com/scrapy/parsel/blob/v1.9.1/parsel/csstranslator.py#L143 https://github.com/scrapy/parsel/blob/v1.9.1/parsel/csstrans...