在这里,我需要获取class ='i-dark-drill-down'中表示的元素列表,正如您在带有Xpath的HTML代码中所看到的那样,它指的是给我5个相似的元素。但是,当我应用index[1]
时,它仍然显示5个元素,如果我使用index [2],则什么都不会显示。
因此,当我在for循环中逐个遍历此列表时,然后在index[2]
noSuchElement异常来了。
我正在使用的xpath是// [包含(@ id,'Canvas')] // [name()='svg'和@id ='defaultID'] // * [ @ class ='i-dark-drill-down']
有人可以帮我弄清楚我在哪里错了吗? 预先感谢!
下面是HTML代码
答案 0 :(得分:0)
@Prateek
要使用xpath遍历索引,您必须输入圆括号示例:
(// div [@ id ='something'])[1]
(// div [@ id ='something'])[2]
等...
尝试通过扩展名为*的DOM来限制xpath的搜索。 它将使搜索缓慢且效率低下。
如果您对我的理解正确,则xpath应该类似于
(//div[contains(@id, 'Canvas')]//div[@class='Btn3D']/div[@class='i-dark-drill-down'])[index number goes here]