在页面上有多个包含相同信息的节点。我的xpath得到了两个,我不想要那个。我只想要一个
这是我的xpath
//em[contains(text(), "Telefon:")]/following-sibling::span
我确实尝试了
//em[contains(text(), "Telefon:")]/following-sibling::span[1]
,但没有运气
答案 0 :(得分:1)
您可以使用at_xpath
method代替xpath
仅返回表达式的第一个匹配项:
doc.at_xpath('//em[contains(text(), "Telefon:")]/following-sibling::span')
您也可以在first
返回的节点集上使用xpath
:
doc.xpath('//em[contains(text(), "Telefon:")]/following-sibling::span').first
答案 1 :(得分:0)
我用这样的红宝石解决了它
docEachLinks.xpath('//em[contains(text(), "Telefon:")]/following-sibling::span').text.split(" ").first
我在这里做的是用空格分割两个,然后我选择第一个。这就行了。