Java + Selenium自動化測試工具的元素定位總結

寫在前面:本文主要介紹了selenium工具中的幾種元素定位方法。(僅在Java中測試過)

1、By.id()

測試源碼:

<input id="aa" name="bb" class="cc" value="dd"  >

定位代碼:

WebElement  element = driver.findElement(By.id("aa"));

 

2、By.name()

定位代碼:

WebElement  element = driver.findElement(By.name("bb"));

 

3、By.linkText()

本方法就是通過超文本鏈接上的文字信息來定位元素,通俗點就是找到頁面上顯示的文字,當然如果文字重了就不建議使用這種方法了。

測試源碼:

<a>主頁</a>

定位代碼:

WebElement  element = driver.findElement(By.linkText("主頁"));

 

4、By.tagName()

這個方法搜索到的元素通常不止一個,所以建議結合findElements方法來使用

例如對一個table的行

定位代碼:

List<WebElement> e_row1 = table.findElements(By.tagName("tr"));(定位了table中的所有行)

 

 

5、By.xpath()

此方法雖然很強大,但是兼容性較差,若是多瀏覽器去跑代碼,就不建議使用它了。

 

6、By.cssSelector()

此方法很強大,而且兼容性很強。其語法規則可以參照css的標準。

定位代碼:

driver.findElement(By.cssSelector("#aa"));  //id=aa

driver.findElement(By.cssSelector(".bb"));  //class=bb

 

7、By.className()

由於類名重複較多,因此此方法定位的位置較多,所以不推薦使用。

定位代碼:

WebElement  element = driver.findElement(By.className("cc"));

 

注:有時候會出現使用各種方法定位不準確,這時候可以考慮通過座標來定位(不得已而爲之)。可參考我上一篇總結。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章