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

Python Selenium如何使用get_attribute获取无data_value属性的数字值

Selenium获取无自定义属性纯数字元素内容解决方案

核心问题说明

现有代码存在两处问题:

  • 调用get_attribute()方法时未传入目标属性名,属于语法错误,无法返回有效结果
  • 待提取的纯数字是DOM节点内部的渲染文本,不属于data_value这类自定义属性值,无需通过属性查询方法获取

具体解决方法

方案1:直接获取可见文本(优先使用)

绝大多数场景下直接调用元素的text属性即可拿到渲染完成的纯数字内容,修改代码如下:

target_ele = nav.find_element_by_xpath('/html/body/main/div[2]/div[2]/ng-view/div/div[2]/div[1]/div[1]/div/div/div/div[2]/div[2]/div/div[1]/div/div[6]/div')
primeiro_value = target_ele.text

拿到的返回值默认是字符串格式,如需数值计算可通过int()或float()方法转换格式

方案2:获取节点内置文本属性(适配隐藏文本场景)

如果方案1返回空值,说明内容为非可见状态渲染,可通过get_attribute获取节点内置的textContent或innerText属性:

target_ele = nav.find_element_by_xpath('/html/body/main/div[2]/div[2]/ng-view/div/div[2]/div[1]/div[1]/div/div/div/div[2]/div[2]/div/div[1]/div/div[6]/div')
# 优先尝试textContent
primeiro_value = target_ele.get_attribute('textContent')
# 若返回为空可替换为innerText
# primeiro_value = target_ele.get_attribute('innerText')

优化建议

当前使用的绝对路径XPath稳定性极差,页面结构稍有变动就会定位失败,建议改用相对路径结合元素的class、id、相邻节点特征编写定位表达式,提升代码鲁棒性。

内容的提问来源于stack exchange,提问作者Leandro Contreiras Tavares

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:54:04