是否可以在两个已知div之间选择任意数量的div,如下所示,
div[@class="foo"]
div[@id="dog"]
div[@id="cat"]
div[@id="horse"]
div[@class="bar"]
div[@class="clearall"]
div[@class="foo"]
div[@id="sheep"]
div[@id="monkey"]
div[@class="bar"]
...etc.
我想选择每个组中div[@class="foo"]
和div[@class="bar"]
之间的所有div。我不知道它们之间会有多少个div,它会有所不同。
我已经尝试过考虑先前兄弟姐妹和兄弟姐妹但是我只能选择与已知div相距最近的div。
答案 0 :(得分:1)
是的,这是可能的。这里的诀窍是使用Scrapy XSLT extensions中的集合操作。
这个想法是,对于每个div.pending{ color:yellow }
div.in-progress{ color:orange }
,选择它之后的所有内容减去div[@class='foo']
之后的内容
以下是Scrapy shell中的一个示例,使用我在本地创建的HTML:
div[@class='bar']