如何从已获取的WebElement文本中提取纯文本与纯数字?
实现文本与数字分离的方案
完全可以实现,你可以借助Python的正则表达式模块re来完成这个需求,具体代码如下:
import re from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By # 原有的元素文本获取代码 global textelement textelement = (WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='text-nowrap text-truncate']")))).text # 提取括号中的数字 number = re.search(r'\((\d+)\)', textelement).group(1) # 提取纯文本:移除括号及其中的数字,清理多余空格 pure_text = re.sub(r'\(\d+\)', '', textelement).replace(' ', ' ').strip()
代码说明
re.search(r'\((\d+)\)', textelement).group(1):通过正则匹配括号内的连续数字,(\d+)用于捕获括号里的数字内容,group(1)提取出捕获到的数字字符串。re.sub(r'\(\d+\)', '', textelement):将文本里的(数字)片段替换为空,再通过replace(' ', ' ')清理替换后可能出现的连续空格,最后用strip()去除文本首尾的多余空格,得到干净的纯文本内容。
测试示例:当textelement为U(4) Leiknir时,number会得到"4",pure_text会得到"U Leiknir"。
内容的提问来源于stack exchange,提问作者ElBob
相关产品推荐
相关产品推荐

