如何从也有内部跨度的跨度标签中提取文本

问题描述 投票:0回答:1

我有一个下面的html:

<span class="ui-cfs-sn-l" xpath="1">
    ABC
    <span class="ui-cfs-txt">°⌃</span>
</span>

我使用以下 python 代码来提取返回 ABC°⌃

的文本
element = driver.find_element(by=By.XPATH, value="//span[@class='ui-cfs-sn-l']")
result = element.text

有没有办法只提取内部跨度之前的文本?解决方案应返回 ABC

python html selenium-webdriver
1个回答
0
投票

您可以使用 Python BeautifulSoup4 库来实现此目的。

Beautiful Soup 是一个可以轻松从网页中抓取信息的库。它位于 HTML 或 XML 解析器之上,提供用于迭代、搜索和修改解析树的 Pythonic 习惯用法。

这是一个例子:

from bs4 import BeautifulSoup

html_content = '<span class="ui-cfs-sn-l" xpath="1">ABC<span class="ui-cfs-txt">°⌃</span></span>'
soup = BeautifulSoup(html_content, features='html.parser')

desired_content = soup.findAll('span', {'class': 'ui-cfs-sn-l'})[0].contents[0]
print(desired_content)  # outputs 'ABC'
© www.soinside.com 2019 - 2024. All rights reserved.