9

我有下一个结构:

<div id='list'>
   <div class='column'>aaa</div>
   <div class='column'>bbb</div>
   ...
   <div class='column'>jjj</div>
</div>

我想知道是否有使用 XPath 的方法,并且编写一些查询是否可以在“列表”元素中获取请求元素的索引。

我的意思是我会询问class='column'文本值的位置aaa,我会得到01......

谢谢

4

4 回答 4

6

您可以只计算要查找的元素之前的 div 元素:

count(div[@id = 'list']/div[@id = 'myid']/preceding-sibling::div)
于 2013-05-13T10:13:26.023 回答
3

Selenium 评估位置的方法:

int position = driver.findElements(By.xpath("//div[@class='column' and text()='jjj']/preceding-sibling::div[@class='column']"))。大小()+ 1;
System.out.println(位置);
于 2014-01-23T12:59:34.053 回答
3

你可以count对前面的兄弟姐妹:

count(//div[@id="list"]/div[@id="3"]/preceding-sibling::*)
于 2013-05-13T10:12:36.650 回答
0

您可以通过使用此 xpath 来计算有多少“前兄弟”也属于“列”类:

//div[@class='column' and text()='jjj']/preceding-sibling::div[@class='column']
于 2013-05-13T18:58:09.660 回答