Python Selenium如何获取网页中input标签的value属性值
获取span标签内部input的value值实现方案
你已经定位到class为showBestOffer的span元素,只需要在该元素范围内二次定位内部的input节点,再读取它的value属性即可,有两种常用实现方式:
方法1:基于已定位的span元素二次查找
复用你已经写好的定位逻辑,在已获取的span元素对象内查找子元素,代码如下:
# 你已有的外层span定位代码 best_offer = driver.find_element_by_class_name('showBestOffer') # 查找span内部的input标签 input_elem = best_offer.find_element_by_tag_name('input') # 读取value属性内容 offer_price = input_elem.get_attribute('value')
执行后offer_price就会拿到目标值15.00 USD。
方法2:一次性直接定位目标input
可以通过CSS选择器跳过外层span的定位步骤,一步拿到目标元素的value值,代码更简洁:
# Selenium 4以下旧版本写法 offer_price = driver.find_element_by_css_selector('.showBestOffer input').get_attribute('value') # Selenium 4+ 版本推荐写法(旧的find_element_by_*系列API已被官方移除,运行会报错) from selenium.webdriver.common.by import By offer_price = driver.find_element(By.CSS_SELECTOR, '.showBestOffer input').get_attribute('value')
注意事项:不要尝试用
.text方法获取该input的内容,这个submit类型的input没有内部文本节点,显示的文字完全存储在value属性中,必须通过get_attribute('value')读取。
内容的提问来源于stack exchange,提问作者ubasu
相关产品推荐
相关产品推荐

