如何使用 Selenium 根据 html 从使用 xpath 找到的元素中检索属性 aria-label 的值

2023-11-27

我有以下 HTML 跨度:

<button class="coreSpriteHeartOpen oF4XW dCJp8">
    <span class="glyphsSpriteHeart__filled__24__red_5 u-__7" aria-label="Unlike"></span>
</button>

我也有一个webElement代表包含我发现使用的这个跨度的按钮xpath。我怎样才能取回aria-label来自元素的值(不同于)?

我尝试这样做:

btn = drive.find_element(By.xpath, "xpath") 
btn.get_attribute("aria-label")

但它什么也没返回。如何检索元素的文本值 具有元素对象中的“aria-label”属性?


aria-label是span元素的属性,而不是按钮的属性。 你可以这样得到它:

btn = drive.find_element(By.xpath, "xpath") 
aria_label = btn.find_element_by_css_selector('span').get_attribute("aria-label")

或者,如果您的目标是查找具有 span contains 属性的按钮aria-label="Unlike":

btn = drive.find_element(By.XPATH, '//button[./span[@aria-label="Unlike"]]')
#you can add class to xpath also if you need
btn = drive.find_element(By.XPATH, '//button[./span[@aria-label="Unlike"] and contains(@class,"coreSpriteHeartOpen)]')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Selenium 根据 html 从使用 xpath 找到的元素中检索属性 aria-label 的值 的相关文章