是否有CSS选择器通过其内联样式属性值选择此元素?<div style='display:block'>...</div>就像是div[cssAttribute=cssValue]
3 回答
富国沪深
TA贡献1790条经验 获得超9个赞
内联style属性与任何其他HTML属性没有区别,可以与子字符串属性选择器匹配:
div[style*="display:block"]
正是出于这个原因,它非常脆弱。由于属性选择器不支持正则表达式,因此只能执行属性值的精确子字符串匹配。例如,如果属性值中有某个空格,如下所示:
<div style='display: block'>...</div>
在您更改选择器以容纳空间之前,它将不匹配。然后它将停止匹配不包含空格的值,除非您包含所有排列,并且令人作呕。但是如果你正在处理一个内联样式声明本身根本不可能改变的文档,你应该没问题。
还要注意,这根本不是按DOM中反映的实际指定,计算或使用的值来选择元素。这是不可能的CSS选择器。
蓝山帝景
TA贡献1843条经验 获得超7个赞
我将举例说明何时有用。我正在写一个Selenium Web Driver测试,并且不会/不想改变测试中的实际代码。我需要通过样式显示来识别特定的自动完成(有几个隐藏),因为代码不提供唯一的id或父结构 - 它们可能被转储到回调中的<body>。但是,是的,就像你指出的那样脆弱。
- 3 回答
- 0 关注
- 1178 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消