【问题标题】:How do I get these tags in hover element using Python + Selenium如何使用 Python + Selenium 在悬停元素中获取这些标签
【发布时间】:2022-11-01 16:35:21
【问题描述】:

我正在使用 Python 和 Selenium 来解析网页。我想从这个元素中获取数字 45、77 和 298:

<li id="guru" rel="popover-srs" title="" 
data-content="<ul><li>Radicals<span>45</span></li><li>Kanji<span>77</span></li><li>Vocabulary<span>298</span></li></ul>" data-original-title="<div class='srs-logo guru'>
</div>">
<span>420</span>
Guru</li>

这些数字仅在您将鼠标悬停在上方时才会出现。即使我发现这样的元素:

print(driver.find_element(By.ID, 'guru').text)

我得到的只是输出:

420
Guru

如何获取跨度值(45、77、298)中的数字?

【问题讨论】:

    标签: python python-3.x selenium selenium-webdriver getattribute


    【解决方案1】:

    您要查找的数据位于该元素的 data-content 属性内,而不是文本内容。
    您可以在此处获取data-content 属性值,然后从那里提取这些值。
    类似于以下内容:

    data_content = driver.find_element(By.ID, 'guru')get_attribute("data-content")
    parts = data_content.split('<span>')
    for index, part in enumerate(parts):
        if index > 0:
            part = part.replace('<span>','')
            partitions = part.split('</span>')
            print(partitions[0])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2022-08-14
      相关资源
      最近更新 更多