【发布时间】:2020-09-27 16:50:14
【问题描述】:
我正在尝试找到正确的 xpath 表达式来选择包含特定文本的元素的父级。
在下面的示例中,我想选择文本匹配“4”或任何其他数字的“span”元素,并且父元素与文本“Rooms”匹配:
我的 XPath 示例 - 匹配“div”元素内的每个“span”
//div/span[../span[contains(text(), 'Rooms')]]
源代码
<div>
<span>4</span>
<span>Rooms</span>
<span>and 2 suites</span>
</div>
我想要的是选择包含数字四的“span”元素作为文本,但由于 html 可能会发生变化,并且可能只有两个或一个“span”元素,如下例所示:
<div>
<span>2 Rooms</span>
</div>
或
<div>
<span>3</span>
<span>Rooms</span>
</div>
【问题讨论】:
标签: html xml firefox xpath scrapy