2017-03-20 163 views
0

我有一个页面上具有类名 - 列表组的各种div。我试图获得第六个,然后获得这个div中的所有div的列表,并带有类名list-group-item。Selenium Webdriver - 无法获取嵌套元素

我不断收到一个错误 - “表达式的类型必须是数组类型,但它解析为By”。

我在Java中有以下代码。有人能指出错误是什么吗?我认为通过索引获取元素,然后找到其中的元素会做到这一点(在C#中为我工作)。

public List<WebElement> Authorities(){ 

    List<WebElement> Authorities = Driver.findElements(By.className("list-group")[5].findElements(By.className("list-group-item"))); 

    return Authorities; 
} 

谢谢!

+0

请张贴相关的HTML或提供一个链接页面,因为所提供的答案是不是好的做法。你不应该有一个从HTML标签开始的XPath,它不应该是那么多的嵌套层次。 – JeffC

回答

0

该做的花样 -

Driver.findElement(By.xpath("/html/body/div/div/div/div[2]/div[6]")).findElements(By.className("list-group-itme")); 
+1

你一定在开玩笑吧!给页面的链接,我会给你一个正常的选择器。 –