将xpath应用于xpath操作的结果

时间:2015-10-13 19:46:54

标签: python xpath scrapy

我可以以“嵌套”的方式应用Xpath吗? 我试过下面的解决方案,我期待第一行返回一个<li>元素,然后我可以通过应用第二个xpath表达式来提取它的链接。但是我似乎做错了,第二行仍然首先返回全局,而不是我的<li>

aaa = response.xpath('//ul/li[@class="navitem")]')
bbb = aaa.xpath('//a/@href').extract() 

1 个答案:

答案 0 :(得分:3)

您可以使用:

aaa = response.xpath('//ul/li[@class="navitem")]')
bbb = aaa[0].xpath('.//a/@href').extract()

注意第二个XPath中的句点.。这将选择所有锚元素的@href属性,这些元素是li元素的后代class="navitem"。如果没有句点.,则表达式aaa[0].xpath('//a/@href').extract()将从整个文档中的所有锚标记返回@href属性。