我在Selenium测试中广泛使用:contains()
选择器。 W3C规范已将其删除。
我想了解原因但无法找到解释此决定背后原因的文档。看了W3org(伪类在this版本中最后出现)并搜索了谷歌。
我在哪里可以找到有关W3C规范更改原因的信息?
答案 0 :(得分:2)
您可以在W3C邮件列表中找到原因:
https://www.google.com/search?q=site%3Ahttp%3A%2F%2Flists.w3.org%2F+css+contains
有很多关于它的讨论。根据{{3}},除其他外,它可能与性能问题有关。
答案 1 :(得分:2)
:contains()
已删除,因为他们提出了另一个想法。 CSS4允许您使用!
整个选择器change the subject。
因此,如果要查找文档中包含页脚的所有表:
!table > tfoot { ... }
这将执行与您使用table > tfoot
相同的查找,但受影响的实际元素将是table
,而不是tfoot
。
我不确切地知道他们为什么要做出改变,但我可以猜到:这对我来说更容易阅读!而且由于您无法嵌套或将其与:not()
或其他此类暴行相结合,因此浏览器供应商可以轻松有效地实施。