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

如何通过Selenium提取style属性为display:none的div标签文本

如何用Selenium提取display: none;的div标签文本

嘿,这问题我熟!当元素被设置成display: none;隐藏起来时,常规的.text方法确实会返回空,但咱们可以用这两种方法轻松拿到隐藏文本:

方法一:使用get_attribute('textContent')

Selenium的get_attribute方法可以直接获取DOM元素的textContent属性,这个属性不受元素可见性影响,不管元素显不显示都能拿到文本。示例代码如下:

from selenium.webdriver.common.by import By

# 定位到目标隐藏div(这里用CSS选择器匹配style包含display:none的div)
hidden_div = driver.find_element(By.CSS_SELECTOR, "div[style*='display: none;']")
# 获取隐藏文本
hidden_text = hidden_div.get_attribute('textContent')
print(hidden_text.strip())  # strip()可以去掉多余的空格换行

方法二:通过JavaScript脚本获取

如果第一种方法遇到特殊情况不好使,还可以直接执行JS脚本去读取元素文本,这是最直接的DOM操作方式:

# 执行JS获取隐藏div的文本
hidden_text = driver.execute_script("""
    const div = document.querySelector('div[style*="display: none;"]');
    return div ? div.textContent.trim() : '';
""")
print(hidden_text)

小提示

如果你的目标div有特定的class或id,建议结合这些属性来定位,这样更精准。比如div的class是hidden-content,那选择器可以写成div.hidden-content[style*='display: none'],避免匹配到其他无关的隐藏div。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:50:34