gpt4 book ai didi

selenium - 如何基于XPATH过滤元素?

转载 作者:行者123 更新时间:2023-12-03 00:56:13 26 4
gpt4 key购买 nike

我想选择仅关注顶级国家/地区或仅关注其他国家/地区的跨度元素

<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 Country']/../following-sibling::span 而不是(//*[text()='Other']/. ./following-sibling::span)

如果我单独尝试两个 XPATH,它们可以工作,但组合起来,它们就不起作用。

我只想选择排名靠前的国家/地区并将其放入列表中:['澳大利亚'、'几内亚比绍'] 并过滤掉其他国家/地区。

如果我使用//*[text()='Top Country']/../following-sibling::span所有国家/地区都会被选中。 IE。 ['澳大利亚'、'几内亚比绍'、'西类牙'、'瑞士'、'英国'、'美国'、'奥地利'、'毛里塔尼亚'、'毛里求斯'、'瑙鲁'、'帕劳', '沙特阿拉伯']

选择 //*[text()='Other']/../following-sibling::span 项目为 ['奥地利','毛里塔尼亚', '毛里求斯','瑙鲁','帕劳','沙特阿拉伯']

该列表是动态生成的,因此我无法根据文本/国家/地区名称选择它们。

最佳答案

它是:

//span[preceding-sibling::div[1]/descendant::text()='Top Countries']

这选择:

Element='<span>Australia</span>'
Element='<span>Guinea-Bissau</span>'

<小时/>显然,仅选择 其他国家:

//span[preceding-sibling::div[1]/descendant::text()='Other']

<小时/>精彩见 online xpath tester .

关于selenium - 如何基于XPATH过滤元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38373450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com