在Tritium中,CSS和XPath选择器之间有什么区别?

时间:2013-05-30 22:23:42

标签: xpath css-selectors moovweb tritium

两种不同选择器有哪些优点/缺点?

我应该使用一个吗?

2 个答案:

答案 0 :(得分:2)

我认为这主要取决于用户偏好。

要选择所有<p>元素的第一个子元素,您需要:

    Xpath 中的
  • $("//p/*[1]") CSS中的
  • $$("p > *:first-child")

我更喜欢使用Xpath,但是YMMV。

请注意,在内部,所有CSS选择器都转换为Xpath。例如,选择器$$("#one")将转换为$(".//*[id='one']")

答案 1 :(得分:2)

只是几点说明:

  • 索引从XPath中的1开始,因此它是//p/*[1]
  • Tritium中的CSS选择器允许您使用>为选择器添加前缀,如$$("> p > :first-child")中所示;这将转换为范围搜索(即./p/*[1]
  • 因为CSS选择器(当前)动态转换为XPath,与使用直接XPath相比,性能略有下降