2017-03-20 204 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

你一定在開玩笑吧!給頁面的鏈接,我會給你一個正常的選擇器。 –