首页 > 解决方案 > 量角器 - 选择同一级别的第二个或第三个元素

问题描述

我知道有一些类似于该主题的问题答案,但我的有点不同。

我也知道我们在量角器中有 first() 和 last() 之类的功能,但我想知道是否有可能在常规 Webdriver 中实现某些功能,例如:

//div[@attr='header']/div/div[2]

您可以在哪里通过 [2] 指示第二个兄弟姐妹?我试过了,但没有用,但也许在这里看起来有点不同?

标签: protractor

解决方案


有几种不同的方法可以实现这一点。按照使用.last()and的相同思路.first(),您也可以使用.get(<index>). 索引从 0 开始。因此element.all(by.xpath('//div[@attr='header']/div/div').get(2)适用于这种情况。

您还可以使用:nth-child()css 选择器来查找兄弟姐妹。从 1 开始的索引nth-child

<div>
  <span>1</span>
  <span>2</span>
  <span>3</span>
</div>

在上面的 html 片段中,如果我想选择第三个跨度,我会使用'div > span:nth-child(3)'


推荐阅读