我正在尝试开发与Selenium一起使用的CSS选择器。特别是我想使用伪类:contains()。尽管W3的CSS3草案包含:contains(),但最终版本似乎并未包含该草案。
我正在使用Chrome的工具来帮助我检查CSS选择器,并确保我做对了。Chrome似乎没有实现:contains(),这是可以理解的。
有没有我可以使用的工具,可以让我尝试在我们的网页上使用:contains()的选择器?
我将Mac与Lion一起使用。我还可能仅限于使用Firefox 3.5.7(有人告诉我暂时不要进行更新)。
jQuery的选择器引擎还实现了:contains()伪类。据我所知,jQuery和Selenium以相同的方式实现它。
:contains()
我不确定如何在不使用jQuery的网站上进行测试,但是在使用jQuery的网站上,只需启动浏览器的JavaScript控制台并在该控制台中运行jQuery选择器即可。
这是一个在Chrome的JavaScript控制台上查看此Stack Overflow问题的示例(取决于您是否登录,您可能会得到不同的结果):
> $("#mainbar div[id]:contains('selector')").get() /* DOM objects with .get() */ [<div class="question" id="question">…</div>, <div id="answers">…</div>, <div id="answer-9007154" class="answer">…</div>, <div id="answer-9008184" class="answer">…</div>]