定位多個元素:
findElements()方法可以返回一個符合條件的元素List 組
如:
public void hitUpdatePersonnel(WebDriver driver, int index){
List<WebElement> elements = driver.findElements(By.name("sex")); //定義了一個集合,將name一樣的元素一次性定位出來
elements.get(index).click(); //通過集合的下標進行操作,集合的第一位下標是0,參數index就是下標
}
層級定位
層級定位的思想是先定位父元素,然后再從父元素中精確定位出其我們需要選取的子元素。層級定位一般的應用場景是無法直接定位到需要選取的元素,但是其父元素比較容易定位,通過定位父元素再遍歷其子元素選擇需要的目標元素,或者需要定位某個元素下所有的子元素。比較典型的應用是表格的定位。
//得到table元素對象
WebElement table = driver.findElement(by);
//得到table表中所有行對象,並得到所要查詢的行對象。
List<WebElement> rows = table.findElements(By.tagName("tr"));
//讀取下拉列表中選項的個數
WebElement a = driver.findElement(By.id("areaID")); //定位下拉列表
List<WebElement> aa = a.findElements(By.tagName("option")); //從下拉列表中查找所有的選項
System.out.println("aa:= "+aa.size()); //打印集合的長度
