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

如何在Python-Selenium中获取HTML输入框的value值?

如何在Python-Selenium中获取Jupyter Widget输入框的Value值?

我之前也碰到过类似的问题,特别是处理Jupyter Widget生成的动态元素时,很容易踩这个小坑。下面给你两种可靠的解决办法:

方法1:使用Selenium内置的get_attribute()方法(推荐)

这是Selenium专门用来获取元素属性的标准方法,不管输入框的value是静态定义还是动态绑定的,都能直接拿到当前显示的值,用法也最简洁:

from selenium.webdriver.common.by import By

# 定位到目标input元素
input_element = driver.find_element(By.CSS_SELECTOR, ".widget-text input.form-control")
# 获取value属性值
input_value = input_element.get_attribute('value')
print(input_value)

方法2:修正JavaScript脚本,添加返回语句

你之前的代码返回None,是因为你的JS脚本只是访问了arguments[0].value,但没有把这个值返回给Python端。只需要给脚本加上return关键字就能解决:

from selenium.webdriver.common.by import By

input_element = driver.find_element(By.CSS_SELECTOR, ".widget-text input.form-control")
# 注意添加return关键字
input_value = driver.execute_script("return arguments[0].value;", input_element)
print(input_value)

补充说明

Jupyter Widget生成的输入框,它的value通常是由前端框架动态管理的,直接访问DOM属性时如果没有返回值,Selenium的execute_script就会默认返回None。而get_attribute()方法会自动处理这些动态属性的读取逻辑,所以更推荐用第一种方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:00:39