父元素的特定子元素的Xpath不能通过类区分吗?

时间:2018-08-15 13:52:46

标签: python xpath web-scraping

html片段如下:

<div class="busi-attr">

           <p><span class="attrName">Min. Order: </span>1 Piece</p>
           <p><span class="attrName">Supply Ability: </span>10,000&nbsp;&nbsp;Piece/Pieces  per  Month</p>
    </div>

我只想要第二个<p>元素,金额为10,000,别无其他,我该怎么做?谢谢

1 个答案:

答案 0 :(得分:0)

尝试使用列表理解来检查元素的文本值的xpath:

span=[x for x in yourwebelement.xpath('//span[@class="attrName"]') if 'supply ability' in x.text.lower()][0]

当然这只是跨度,但是您现在需要的只是父级

p=span.xpath('.//parent::p')[0]

我认为span块使您无法获取p的文本值,因此让我们减去减去span中的所有文本。

text=[x for x in p.itertext() if x != span.text]