官方通过如下代码获取多个元素:
- 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();
这样就能点击页面上第一个title=Preview的button