You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python中的Selenium提取li标签内的文本

解决Selenium提取li标签文本的问题

嘿,你的问题出在对find_elements_by_tag_name返回值的理解上!这个方法返回的是多个WebElement组成的列表,而列表本身并没有.text属性,所以直接调用items.text肯定会报错或者拿不到内容。我给你几个可行的解决方案:

方案1:精准定位单个目标li元素

既然你的目标li有明确的class属性,不如直接用更精准的定位方式找到这个元素,再获取文本:

# 方法A:使用CSS选择器
target_li = driver.find_element_by_css_selector("li.inline.t-24.t-black.t-normal.break-words")
print(target_li.text.strip())  # strip()用来去除文本前后的空格

# 方法B:使用XPath
target_li = driver.find_element_by_xpath("//li[@class='inline t-24 t-black t-normal break-words']")
print(target_li.text.strip())

方案2:遍历所有li元素并筛选目标

如果你需要处理页面上所有li元素,再筛选出你要的那一个,可以遍历列表,逐个检查元素的class属性:

items = driver.find_elements_by_tag_name("li")
for item in items:
    # 检查当前li的class是否匹配目标
    if "inline t-24 t-black t-normal break-words" in item.get_attribute("class"):
        print(item.text.strip())

关键提醒

  • find_element_*(单数形式)返回单个WebElement对象,支持.text属性;
  • find_elements_*(复数形式)返回WebElement列表,必须遍历每个元素才能获取文本;
  • 使用.strip()可以去除文本前后的空白字符,让结果更干净。

内容的提问来源于stack exchange,提问作者nilesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 15:27:28