如何使用Xpath从同一节点中选择两个或多个元素?

时间:2016-04-25 07:21:42

标签: python xpath web-scraping

我想从同一节点中选择两个元素。代码如下:

<div >
  <span >First element to select:</span>
  <span ></span>
  <strong >Second element to select</strong>
</div>

我试过这个:

$x('//div/span/text()')

我得到一个这样的数组:

["First element", " "]

无论如何得到:

["First element", "Second element"]

也许把它放到python字典中?并有:

dict = {'First element' : 'Second element'}

非常感谢帮助

1 个答案:

答案 0 :(得分:1)

您可以使用以下XPath:

//*[@id="details"]//div/*/text()

或者如果您特别想要从spanstrong获取文字节点:

//*[@id="details"]//div/*[self::span|self::strong]/text()

要跳过空文本节点,请添加谓词[normalize-space()]

//*[@id="details"]//div/*/text()[normalize-space()]