在使用Selenium过程中,难免需要对颜色进行比较,那么所有颜色类型必须要进行规范化。selenium\webdriver\support\color.py模块实现了颜色转换。
color模块原理
color模块主要元素为:
- Colors模块变量:定义了HTML4 颜色字符串对应的Color对象。
- 颜色匹配正则表达式模块变量:定义了各类颜色格式的匹配正则表达式。
- Color类:颜色转换支持类,颜色基础模型为RGBA。
1.__init__(self, red, green, blue, alpha=1):构造方法。
2.from_string(str_):静态方法,将输入字符串转换为Color对象。
3._from_hsl(h, s, l, a=1):静态方法,将HSLA模型颜色转换为RGBA格式的Color对象
4.rgb特性:将Color对象输出为RGB格式字符串。
5.rgba特性:将Color对象输出为RGBA格式字符串。
6.hex特性:将Color对象输出为十六进制字符串。
Color类实现了各类颜色格式的转换
HEX_COLOR = Color.from_string('#2F7ED8') RGB_COLOR = Color.from_string('rgb(259, 194, 22)') RGB_COLOR1 = Color.from_string('rgb(40%, 20%, 40%)') RGBA_COLOR = Color.from_string('rgba(259, 194, 22, 1)') RGBA_COLOR1 = Color.from_string('rgba(40%, 20%, 40%, 0.5)') HSL_COLOR = Color.from_string('hsl(100, 0%, 50%)') HSLA_COLOR = Color.from_string('hsla(100, 0%, 50%, 0.5)')
运行结果:
print(HEX_COLOR,'\n', RGB_COLOR,'\n',RGB_COLOR1,'\n', RGBA_COLOR,'\n',RGBA_COLOR1,'\n', HSL_COLOR,'\n',HSLA_COLOR) Color: rgba(47, 126, 216, 1) Color: rgba(259, 194, 22, 1) Color: rgba(102, 51, 102, 1) Color: rgba(259, 194, 22, 1) Color: rgba(102, 51, 102, 0.5) Color: rgba(128, 128, 128, 1) Color: rgba(128, 128, 128, 0.5)
输出Color对象的RGB、RGBA、十六进制表示
print(HEX_COLOR.rgb, '\n',HEX_COLOR.rgba,'\n', HEX_COLOR.hex) 运行结果: rgb(47, 126, 216) rgba(47, 126, 216, 1) #2f7ed8
Color类重载了相等运算符,可直接对颜色进行相等比较
print(Color.from_string('rgb(255, 255, 255)') == Color.from_string('#FFFFFF'))
运行结果:
True
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?