Python中如何获取HTML span元素文本值?get_attribute返回None问题
解决获取span元素文本内容的问题
你用get_attribute('value')返回None是因为span标签本身没有value属性——这个属性是给input、select这类输入控件用的,普通文本标签根本不会有这个属性,所以返回空值很正常。
要拿到<span class="label">Google</span>里的"Google",有两种更合适的方法:
- 直接用元素的
text属性,这是Selenium专门用来提取元素可见文本的方式:
a = d.find_element(By.XPATH,'//*[@class="label"]') b = a.text print(b) # 输出:Google
- 如果遇到文本被隐藏(
text拿不到)的情况,可以用get_attribute('textContent')获取元素包含的所有文本内容:
a = d.find_element(By.XPATH,'//*[@class="label"]') b = a.get_attribute('textContent') print(b) # 输出:Google
至于你之前用的innerHTML,它会返回元素的完整HTML代码,所以才会输出<span class="label">Google</span>,如果只是要纯文本的话,完全没必要用这个。
内容的提问来源于stack exchange,提问作者vinoth
相关产品推荐
相关产品推荐

