Locating Elements(一)

在正式創建測試項目之前有必要詳細介紹下怎麼樣去尋找頁面元素,當然就是根據網頁元素的屬性了,想必大家一定都很熟知常用的瀏覽器比如Chrome和Firefox了,一般化在網頁上選中你想查看的元素然後右擊審查元素就可以看到該元素的屬性了,知道了這些元素屬性又怎麼和webdriver結合起來呢?下面就來介紹下webdriver locate elements的方法,webdriver中用findElement(By.**())關鍵字來locate 元素

第一種最快也是最方便的方法::By ID

通常網頁上的元素會有一個唯一識別的ID 就像我們的身份證一樣,它用來唯一標識某元素,WebDriver通過這種方法去發現元素的語法很簡單

driver.findElement(By.id("*****"));  這裏只要知曉元素的相對應的id就可以找到該元素了,也許會有人說我怎麼知道id?直接檢查頁面元素就可以的在html代碼中看到你想要的元素的id了,比如百度頁面的搜索框相對應的html代碼爲:<input type="text" name="wd" id="kw" maxlength="100" class="s_ipt" autocomplete="off">這裏可以清楚的看到該文本框的id爲kw,相應的發現元素代碼就應該爲:driver.findElement(By.id("kw")); 注意:不是所有的元素都有id,這個要根據但是開發的設計。

第二種方法:By Name 

driver.findElement(By.name("****"));這裏只要知道相對應的元素的name就可以成功的找到元素了,還以百度首頁的搜索框爲例,搜索框的name爲wd,相應的代碼應爲driver.findElement(By.name("wd"));當然也不是所有的元素都有name。

第三種方法:By xpath                                                           

driver.findElement(By.xpath("****"));這裏主要是通過元素的xpath來定位元素的,xpath的知識有興趣的可以訪問http://www.w3school.com.cn/xpath/去了解下,這裏不做介紹,下面介紹幾種即使你完全不懂xpath的語法你也照樣可以運用xpath來發現元素的方法:

#1利用firefox的xpath插件在add-on中搜索xpath,然後選擇 xpath checker,安裝完成後,就可以運用xpath了,比如我想得到百度首頁logo的xpath值只要把光標移到圖片上右擊view xpath 就可以得到xpath的值了:id('lg')/x:img,所以這裏相對應的代碼就應該爲:driver.findElement(By.xpath("id('lg')/x:img"))

#2利用chrome的xpath插件,這個插件個人感覺比firefox下的插件更好用,出錯的機率也相應的小了很多,該插件爲PsychoXpath:https://chrome.google.com/webstore/detail/psychoxpath/bpnigkcdmnofjkmojlopmelmhgpbndog  安裝成功後,選定相應的元素右擊你可以選擇絕對路徑(Absolute),這裏不推薦這種絕對路徑的,強烈推薦第二種(short),當然你也可以highlight元素,自己試試絕對感覺很有意思。

獲取到相應的xpath後就可以把值相應的替換到driver.findElement(By.xpath(""))中就可以了。




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