您好,登錄后才能下訂單哦!
在正式創建測試項目之前有必要詳細介紹下怎么樣去尋找頁面元素,當然就是根據網頁元素的屬性了,想必大家一定都很熟知常用的瀏覽器比如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(""))中就可以了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。