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

使用Python和Selenium提取textarea标签文本为空怎么办?

问题原因

你定位的ace_text-input类对应Ace代码编辑器的内置隐藏输入控件,仅用于接收实时键盘输入,不会存储完整的编辑内容,因此调用get_attribute('value')或.text都会返回空值。

可行解决方案

  • 方案1:调用Ace编辑器原生API提取内容(推荐,可完整保留格式、换行等信息)
    直接通过Selenium执行JS调用编辑器接口即可:
    # 若页面仅有一个Ace编辑器可直接使用该代码
    x = browser.execute_script("return ace.edit(document.querySelector('.ace_editor')).getValue()")
    
    # 若有多个编辑器,可传入你已定位到的元素匹配对应编辑器
    target_input = browser.find_element_by_class_name("ace_text-input")
    x = browser.execute_script("return ace.edit(arguments[0].closest('.ace_editor')).getValue()", target_input)
    
  • 方案2:提取渲染后的文本层内容(仅需纯文本时可使用)
    Ace编辑器的可见内容全部渲染在ace_text-layer节点下,直接提取该节点文本即可:
    text_layer = browser.find_element_by_css_selector(".ace_text-layer")
    x = text_layer.text
    

注意事项

提取前请确认编辑器内容已完成加载,可添加显式等待逻辑,避免因内容未渲染完成拿到空值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:21:02