如何通过Python+Selenium从无标识文本节点提取文本?
解决方案
假设你已经定位到了mkt-card类的元素(比如通过find_element(By.CLASS_NAME, "mkt-card")),可以用以下几种方法提取目标<strong>标签里的文本:
方法一:直接定位子元素
从已获取的mkt-card元素内部,直接查找<strong>标签并提取文本:from selenium.webdriver.common.by import By # 获取mkt-card元素 mkt_card = driver.find_element(By.CLASS_NAME, "mkt-card") # 提取内部strong标签的文本 target_text = mkt_card.find_element(By.TAG_NAME, "strong").text print(target_text)方法二:用XPath精准定位
若页面存在多个<strong>标签,可通过XPath基于父元素mkt-card筛选:# 直接定位mkt-card下的strong标签 target_text = driver.find_element(By.XPATH, "//div[contains(@class, 'mkt-card')]/strong").text # 或从已获取的mkt_card元素出发定位 target_text = mkt_card.find_element(By.XPATH, "./strong").text方法三:文本内容筛选(当标签无特征时)
如果<strong>标签无特殊标识,但目标文本有固定规律(比如特定开头),可先获取mkt-card内所有文本再过滤:all_text = mkt_card.text # 示例:筛选以"HZS stonks"开头的文本行 target_text = [line for line in all_text.split('\n') if line.startswith("HZS stonks")][0]
注意:若页面有多个mkt-card元素,需用find_elements遍历处理,避免定位错误。
内容的提问来源于stack exchange,提问作者ShiroTheShiro
相关产品推荐
相关产品推荐

