我遇到了cssutils.css.CSSStyleDeclaration
检测到的CSS属性验证错误的问题。
初始代码:
from cssutils.css import CSSStyleDeclaration
invalid_css = 'color: bold-50;'
invalid_style = CSSStyleDeclaration(cssText=invalid_css,validating=True)
输出:
ERROR Property: Invalid value for "CSS Level 2.1" property: bold-50 [1:1: color]
我试过了:
try:
invalid_style = CSSStyleDeclaration(cssText=invalid,validating=True)
except:
print('exception thrown....')
输出相同且print语句不运行:
ERROR Property: Invalid value for "CSS Level 2.1" property: bold-50 [1:1: color]
接下来我尝试了:
我阅读了CSSStyleDeclaration
here的源代码,但看不出哪个函数会打印错误。
我的目标是捕获,检测或读取此错误;如果样式有效则输出True
;如果样式无效,则输出False
。
答案 0 :(得分:0)
在阅读了更多文档后,我发现ERROR
消息是从logging system输出的。
事实证明CSSStyleDeclaration
有一个返回getProperty()
对象的方法cssutils.css.Property
。
轮流中的cssutils.css.Property
对象有一个名为valid
的布尔成员。记录here。
解决方案使用Property
而不是CSSStyleDeclaration
:
from cssutils.css import Property
property = Property(name='color', value='bold-50', priority='')
print(property.valid)
>> False