<div>
<p>
<span class="abc">Monitor</span> <b>$300</b>
</p>
<a href="/add">Add to cart</a>
</div>
<div>
<p>
<span class="abc">Keyboard</span> $20
</p>
<a href="/add">Add to cart</a>
</div>
使用XPath我想分析Monitor $300
和Keyboard $20
。我用这个xpath
//div[a[contains(., "Add to cart")]]/p/text()
但它选择<span class="abc">Monitor</span> <b>$300</b>
。我不想要标签。我如何获得文本?
'text()'不应该选择元素。您使用的是什么XML解析器? – choroba
@choroba'scrapy.selector.lxmlsel.HtmlXPathSelector' –
你如何获得价值?在DOM Level 3单词中,您可以选择“p”元素,例如'// div [a [contains(。,“Add to cart”)]]/p'然后访问'textContent'属性来获取纯文本内容。 –