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

Python使用Selenium无法获取带disabled属性的按钮内部文本如何解决

问题原因及解决方案

  1. 定位方法使用错误
    你调用的find_elements_by_xpath是复数定位方法,返回值为匹配到的所有元素组成的列表,无法直接对列表调用.text属性。如果确认该Xpath仅匹配到一个按钮,可替换为单数定位方法find_element_by_xpath,或先取列表第一个元素info[0]再读取文本。

  2. 禁用状态按钮文本读取规则限制
    带disabled属性的禁用按钮,Selenium原生.text属性仅会返回可见的非禁用元素文本,这类场景下.text会返回空值,替换为读取元素的textContent属性即可。

可直接运行的示例代码

# 单数定位单个按钮元素
button_ele = driver.find_element_by_xpath("//*[@id='search-result']/div/kat-box/div/section[3]/div[1]/section[2]/div/div/span[2]/kat-button/button")
# 读取textContent属性获取按钮文本,strip()清理前后多余空格
info = button_ele.get_attribute("textContent").strip()

如果存在元素还未加载完成的情况,可增加显式等待确保元素加载完成后再操作:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 最多等待10秒,直到按钮元素加载完成
wait = WebDriverWait(driver, 10)
button_ele = wait.until(EC.presence_of_element_located((By.XPATH, "//*[@id='search-result']/div/kat-box/div/section[3]/div[1]/section[2]/div/div/span[2]/kat-button/button")))
info = button_ele.get_attribute("textContent").strip()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:45:03