官方通過如下代碼獲取多個元素:
- List<WebElement> inputs = driver.findElements(By.xpath("//input"));
還可以使用By.id(), By.linkText()等等,需要說明的是:
- 當使用driver.findElement()尋找單個元素的時候,往往所給的參數能找出幾個結果,但是webdriver會自動取第一個元素,比如driver.findElement(By.xpath("//ul[@id='clientNav']/li"))與By.xpath("//ul[@id='clientNav']/li[1]")取得的結果是一樣的
- 可以通過findElements(By.tagName("tag"))來獲取多個元素,但是此方法會或許根結點下所有的子結點
- 獲取多個元素可以用用於判斷下拉菜單的元素個素,統計頁面元素的數量等等
- 當頁面元素沒有唯一的標識符的時候,通常可以使用如下方法獲取元素
- driver.findElements(By.xpath("//button[@title='Preview']")).get(0).click();