【发布时间】:2013-11-23 10:30:44
【问题描述】:
我正在尝试使用 By.cssSelector 来获取具有如下结构的 c3 类的第 n 个 dom 元素:
<div class="c1">
<div class="c2">
<div class="c3">...</div>
</div>
</div>
<div class="c1">
<div class="c2">
<div class="c3">...</div>
</div>
</div>
<div class="c1">
<div class="c2">
<div class="c3">...</div>
</div>
</div>
测试我的 CSS 选择器时,我变得越来越困惑。 此选择器正确选择了 c2/c3 的第二个实例:
.c1:nth-of-type(2)
同时:
.c2:nth-of-type(2)
.c3:nth-of-type(2)
什么都不选。
更糟糕的是,将其翻译成 selenium,我似乎始终找不到所有 3 个版本。有很多替代方法可以选择这些元素(我可能只做 XPATH),但我对 nth-of-type 的缺乏了解让我发疯了。谁能提供关于为什么第二个 2 不起作用或纠正我对这个选择器基本缺乏理解的见解?
这已在 Chrome (29/30) 和 Firefox (24/25) 中出现
【问题讨论】:
-
你测试过哪些浏览器?