索引不适用于我通过xpath所需的相似元素列表

时间:2018-10-07 05:56:04

标签: selenium-webdriver xpath

在这里,我需要获取class ='i-dark-drill-down'中表示的元素列表,正如您在带有Xpath的HTML代码中所看到的那样,它指的是给我5个相似的元素。但是,当我应用index[1]时,它仍然显示5个元素,如果我使用index [2],则什么都不会显示。 因此,当我在for循环中逐个遍历此列表时,然后在index[2]

的第二次迭代中进行遍历

IMages for HTML

noSuchElement异常来了。

我正在使用的

xpath是// [包含(@ id,'Canvas')] // [name()='svg'和@id ='defaultID'] // * [ @ class ='i-dark-drill-down']

有人可以帮我弄清楚我在哪里错了吗? 预先感谢!

下面是HTML代码

1 个答案:

答案 0 :(得分:0)

@Prateek

要使用xpath遍历索引,您必须输入圆括号示例:

  • 索引1
  

(// div [@ id ='something'])[1]

  • 索引2
  

(// div [@ id ='something'])[2]

等...

尝试通过扩展名为*的DOM来限制xpath的搜索。 它将使搜索缓慢且效率低下。

如果您对我的理解正确,则xpath应该类似于

(//div[contains(@id, 'Canvas')]//div[@class='Btn3D']/div[@class='i-dark-drill-down'])[index number goes here]