【发布时间】:2016-07-15 02:38:43
【问题描述】:
我想选择只跟随顶级国家或只跟随其他国家的 span 元素
<div>
<div>
<span class="hb">Top Countries</span>
</div>
<span>Australia</span>
<span>Guinea-Bissau</span>
<div>
<span class="hb">Other</span>
</div>
<span>Austria</span>
<span>Mauritania</span>
<span>Mauritius</span>
<span>Nauru</span>
<span>Palau</span>
<span>Saudi Arabia</span>
</div>
我试过//*[text()='Top Countries']/../following-sibling::span and not(//*[text()='Other']/../following-sibling::span)
如果我分别尝试这两个 XPATH,它们会起作用,但结合起来,它们就不起作用。
我只想选择排名靠前的国家并将它们列入列表:['Australia', 'Guinea-Bissau'] 并过滤掉其他国家。
如果我使用//*[text()='Top Countries']/../following-sibling::span所有国家/地区都会被选中。 IE。 ['Australia', 'Guinea-Bissau', 'Spain', 'Switzerland', 'UK', 'USA', 'Austria','Mauritania', 'Mauritius','Nauru','Palau','Saudi Arabia']
选择//*[text()='Other']/../following-sibling::span 的项目是['Austria','Mauritania', 'Mauritius','Nauru','Palau','Saudi Arabia']
该列表是动态生成的,因此我无法根据文本/国家/地区名称选择它们。
【问题讨论】:
-
请澄清,你想做什么?如果每个 xpath 单独工作,而您只想获取其中一个,则只需使用单独的 xpath。
-
@BreaksSoftware 添加了说明