我想使用xpath或css选择器找到class = parent-class的div元素,其三个子元素应具有相同的class = no-data。
即所有三个>父类的第3、4和5个子div应该具有“无数据”类。 例如:
<div class="main">
<div class="parent-class">
<div class="child-1">child1</div>
<div class="child-2">child2</div>
<div class="no-data">NA</div>
<div class="data">xyz</div>
<div class="data">ijk</div>
</div>
<div class="parent-class">
<div class="child-1">child1</div>
<div class="child-2">child2</div>
<div class="no-data">NA</div>
<div class="no-data">NA</div>
<div class="no-data">NA</div>
</div>
<div class="parent-class">
<div class="child-1">child1</div>
<div class="child-2">child2</div>
<div class="data">abc</div>
<div class="data">xyz</div>
<div class="data">ijk</div>
</div>
<div class="parent-class">
<div class="child-1">child1</div>
<div class="child-2">child2</div>
<div class="no-data">NA</div>
<div class="no-data">NA</div>
<div class="data">ijk</div>
</div>
</div>
答案 0 :(得分:0)
尝试以下解决方案:它对我有用
//div[contains(@class,'parent-class') and div[@class='no-data'][1] and div[@class='no-data'][2] and div[@class='no-data'][3]]
or
//div[contains(@class,'parent-class') and (div[@class='no-data'][1] and div[@class='no-data'][2] and div[@class='no-data'][3])]
尽管正在寻找更好的解决方案
答案 1 :(得分:0)
您可以使用下面给出的xpath来跟踪所需的元素。
id
答案 2 :(得分:0)
我认为应该这样做:
//div[@class='parent-class']/child::div[3][@class='no-data']
答案 3 :(得分:0)
据我了解,您的要求应该类似于:
//div[@class='parent-class' and count(descendant::div[@class='no-data'])=3]
其中:
因此,上面的表达式将与具有三个no-data
类的孩子的div标签匹配