Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)
前言
自動(dòng)化只要掌握四步操作:獲取元素,操作元素,獲取返回結(jié)果,斷言(返回結(jié)果與期望結(jié)果是否一致),最后自動(dòng)出測(cè)試報(bào)告。本篇主要講如何用firefox輔助工具進(jìn)行元素定位。
元素定位在這四個(gè)環(huán)節(jié)中是至關(guān)重要的,如果說(shuō)按學(xué)習(xí)精力分配的話,元素定位占70%;操作元素10%,獲取返回結(jié)果10%;斷言10%。如果一個(gè)頁(yè)面上的元素不能被定位到,那后面的操作就無(wú)法繼續(xù)了。接下來(lái)就來(lái)講webdriver提供的八種基本元素定位方法。
一、環(huán)境準(zhǔn)備:
1.瀏覽器選擇:Firefox2.安裝插件:Firebug和FirePath(設(shè)置》附加組件》搜索:輸入插件名稱》下載安裝后重啟瀏覽器)3.安裝完成后,頁(yè)面右上角有個(gè)小爬蟲(chóng)圖標(biāo)4.快速查看xpath插件:XPath Checker這個(gè)可下載,也可以不用下載5.插件安裝完成后,點(diǎn)開(kāi)附加組件》擴(kuò)展,如下圖所示二、查看頁(yè)面元素:
以百度搜索框?yàn)槔?#xff0c;先打開(kāi)百度網(wǎng)頁(yè)
1.點(diǎn)右上角爬蟲(chóng)按鈕2.點(diǎn)左下角箭頭3.講箭頭移動(dòng)到百度搜索輸入框上,輸入框高亮狀態(tài)4.下方紅色區(qū)域就是單位到輸入框的屬性:三、元素定位:find_element_by_id()
1.從上面定位到的元素屬性中,可以看到有個(gè)id屬性:id="search-key",這里可以通過(guò)它的id屬性單位到這個(gè)元素。2.定位到搜索框后,用send_keys()方法
元素定位:find_element_by_name()
元素定位:find_element_by_class_name()
元素定位:find_element_by_tag_name()
1.從上面定位到的元素屬性中,可以看到每個(gè)元素都有tag(標(biāo)簽)屬性,如搜索框的標(biāo)簽屬性,就是最前面的input
2.很明顯,在一個(gè)頁(yè)面中,相同的標(biāo)簽有很多,所以一般不用標(biāo)簽來(lái)定位。以下例子,僅供參考和理解,運(yùn)行肯定報(bào)錯(cuò)
元素定位:find_element_by_link_text()
查看頁(yè)面元素:
<a class="mnav" target="_blank" href="http://www.hao123.com">hao123</a>2.從元素屬性可以分析出,有個(gè)href = "http://www.hao123.com
說(shuō)明它是個(gè)超鏈接,對(duì)于這種元素,可以用以下方法
元素定位:find_element_by_partial_link_text()
元素定位:find_element_by_xpath()
3.安裝上圖的步驟,在FriePath插件里copy對(duì)應(yīng)的xpath地址
元素定位:find_element_by_css_selector()
總結(jié):
selenium的webdriver提供了八種基本的元素定位方法,前面六種是通過(guò)元素的屬性來(lái)直接定位的,后面的xpath和css定位更加靈活,需要重點(diǎn)掌握其中一個(gè)。
1.通過(guò)id定位:find_element_by_id()
2.通過(guò)name定位:find_element_by_name()
3.通過(guò)class定位:find_element_by_class_name()
4.通過(guò)tag定位:find_element_by_tag_name()
5.通過(guò)link定位:find_element_by_link_text()
6.通過(guò)partial_link定位:find_element_by_partial_link_text()
7.通過(guò)xpath定位:find_element_by_xpath()
8.通過(guò)css定位:find_element_by_css_selector()
學(xué)習(xí)資源分享
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來(lái)總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走
這些資料,對(duì)于做【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術(shù)行業(yè),一定要提升技術(shù)功底。希望對(duì)大家有所幫助…….
總結(jié)
以上是生活随笔為你收集整理的Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: selenium firebug fi
- 下一篇: 怎样安装Firebug和FirePath