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 の 2 番目のインスタンスを正しく選択します。
.c1:nth-of-type(2)
その間:
.c2:nth-of-type(2)
.c3:nth-of-type(2)
何も選択しません。
さらに悪いことに、これをセレンに変換すると、3つのバージョンすべてで一貫して何も見つからないようです。これらの要素を選択する別の方法はたくさんあります (私はおそらく XPATH を使用するだけです) が、私の理解不足がnth-of-type
私を夢中にさせています。2 番目の 2 つが機能しない理由について洞察を提供したり、このセレクターに関する私の基本的な理解の欠如を修正したりできますか?
これは Chrome (29/30) と Firefox (24/25) にありました