量角器 - 选择同一级别的第二个或第三个元素



我知道有一些与主题相似的问题答案,但我的有点不同。

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

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

在哪里可以用 [2] 表示第二个兄弟姐妹?我已经尝试过但没有奏效,但也许这里看起来有点不同?

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

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

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

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

相关内容

最新更新