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

如何在Selenium Python中获取CSS类样式块?

获取元素CSS类对应的样式值问题

相关代码

HTML代码

<a id="fld_2418083_6_opt1730754" data-label="F°" data-field="fld_2418083" data-active="btn-primary" data-default="btn-default" class="btn btn-primary" data-value="0" aria-labelledby="fld_2418083Label" title="Choose OptionF°">F°</a>

CSS代码

.btn-primary{
   background-color: #438bca;
}

错误代码及问题

我用这段Selenium Python代码尝试获取对应CSS样式块,结果报错:

cls_name = element.get_attribute("class")
bg_color = cls_name.value_of_css_property("background-color")
print(f'{ bg_color = }')

问题根源:get_attribute("class")返回的是字符串格式的类名,而value_of_css_property是Selenium WebElement对象独有的方法,不能直接在字符串上调用这个方法,这就是报错的原因。

正确实现方式

直接对已定位到的WebElement对象调用value_of_css_property方法即可获取对应样式值:

# 前提:element是已经定位好的目标元素
bg_color_rgb = element.value_of_css_property("background-color")
# 若需要将rgb格式转为十六进制格式(和CSS里的写法一致)
from selenium.webdriver.support.color import Color
bg_color_hex = Color.from_string(bg_color_rgb).hex
print(f'background-color: {bg_color_hex}')

期望输出

background-color: #438bca

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:20:27