日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)

發布時間:2023/12/2 python 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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()

1.從上面定位到的元素屬性中,可以看到有個name屬性:name="wd",這里可以通過它的name屬性單位到這個元素。說明:這里運行后會報錯,說明這個搜索框的name屬性不是唯一的,無法通過name屬性直接定位到輸入框


元素定位:find_element_by_class_name()

1.從上面定位到的元素屬性中,可以看到有個class屬性:class="s_ipt",這里可以通過它的class屬性定位到這個元素。

元素定位:find_element_by_tag_name()

1.從上面定位到的元素屬性中,可以看到每個元素都有tag(標簽)屬性,如搜索框的標簽屬性,就是最前面的input

2.很明顯,在一個頁面中,相同的標簽有很多,所以一般不用標簽來定位。以下例子,僅供參考和理解,運行肯定報錯


元素定位:find_element_by_link_text()

1.定位百度頁面上"hao123"這個按鈕

查看頁面元素:

<a class="mnav" target="_blank" href="http://www.hao123.com">hao123</a>

2.從元素屬性可以分析出,有個href = "http://www.hao123.com

說明它是個超鏈接,對于這種元素,可以用以下方法


元素定位:find_element_by_partial_link_text()

1.有時候一個超鏈接它的字符串可能比較長,如果輸入全稱的話,會顯示很長,這時候可以用一模糊匹配方式,截取其中一部分字符串就可以了2.如“hao123”,只需輸入“ao123”也可以定位到


元素定位:find_element_by_xpath()

1.以上定位方式都是通過元素的某個屬性來定位的,如果一個元素它既沒有id、name、class屬性也不是超鏈接,這么辦呢?或者說它的屬性很多重復的。這個時候就可以用xpath解決2.xpath是一種路徑語言,跟上面的定位原理不太一樣,首先第一步要先學會用工具查看一個元素的xpath


3.安裝上圖的步驟,在FriePath插件里copy對應的xpath地址

元素定位:find_element_by_css_selector()

1.css是另外一種語法,比xpath更為簡潔,但是不太好理解。這里先學會如何用工具查看,后續的教程再深入講解2.打開FirePath插件選擇css3.定位到后如下圖紅色區域顯示

總結:

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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。