如果页面有不同的变体,如何在页面中查找文本?

How to find text within page if it is in different variation?

我有一个元素,例如 <span class="ads_price" id="tdo_8">7 650 €</span>,我需要通过价格找到这个元素,但问题是我不知道价格会以什么形式出现。我需要在增强元素中搜索这个子字符串,这样它在任何情况下都不会出现问题。例如,如果我搜索 7650 的价格,它不会找到这个元素,但如果我搜索 7 650(注意 space),那么它会毫无问题地找到它。现在我正在使用 xpath //*[contains(text(),'{search_price}')] 搜索。我的问题 - 有没有什么方法可以改进我对任何页面的任何价格的搜索?

P.S。我正在使用没有 javascript 渲染网页的 scrapy。

此代码适合您:

response.xpath("//*[contains(translate(text(),' ',''),'7650')]").getall()

这将 return 包含 7650 的所有元素 - 有或没有 space,有或没有 $、€ 等

我用以下方法测试过:

<span class="ads_price" id="tdo_8">7 650 €</span>
<span class="ads_price" id="tdo_8">7 650 </span>
<span class="ads_price" id="tdo_8">$ 7650</span>
<span class="ads_price" id="tdo_8">7650.30</span>