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