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

使用Selenium获取input元素日期文本返回空值的解决方案问询

问题解决:Selenium读取input日期字段返回空值

问题根因

  • <input>属于表单元素,填充的内容保存在value属性中,不属于元素的文本节点,调用.text属性只能读取元素标签包裹的文本内容,因此返回空值。

可行解决方案

直接通过get_attribute()方法读取元素的value属性即可拿到对应日期值,正确代码如下:

date = self.driver.find_element(By.XPATH, "//*[@id='out']/table/tbody/tr[3]/td[5]/input").get_attribute("value")

可选优化(避免偶发空值)

从代码中的ng-model属性可判断当前页面是Angular框架渲染,可能存在数据绑定延迟,可增加显式等待确保值加载完成后再读取,示例代码:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 最多等待10秒,直到目标input元素加载完成
date_element = WebDriverWait(self.driver, 10).until(
    EC.presence_of_element_located((By.XPATH, "//*[@id='out']/table/tbody/tr[3]/td[5]/input"))
)
date = date_element.get_attribute("value")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:45:04