文章來源:深圳澤林教育 已幫助:1158人
在做WEB自動化時,根本和基礎(chǔ)的是操作頁面上的元素,所以能找到這些元素,才能進行操作。工具或代碼無法像我們測試人員一樣用肉眼來分辨頁面上的元素。那么我們怎么來定位他們呢?
一、查看頁面元素
用谷歌瀏覽器打開百度首頁,點擊右上角>更多工具>開發(fā)者工具,就可以看到整個頁面的html代碼了
點擊框中左上角的箭頭圖標,移動鼠標到百度搜索框,就可以自動定位到百度搜索框的HTML代碼了,查看到搜索框的屬性,我們可以看到搜索框有id,name,class等屬性。
二、元素定位
1、id定位:find_element_by_id()
從上面定位到的搜索框?qū)傩灾?,有個id="kw"的屬性,可通這個id定位到這個搜索框。
2、name定位:find_element_by_name()
從上面定位到的搜索框?qū)傩灾?,有個name="wd"的屬性,我們可以通過這個name定位到這個搜索框。
3、class定位:
find_element_by_class_name()
從上面定位到的搜索框?qū)傩灾?,有個class="s_ipt"的屬性,我們可以通過這個class定位到這個搜索框
4、tag定位:find_element_by_tag_name()
我們所知道的HTML,便是通過tag來定義功能的。比如input是輸入,table是表格等。每個元素是一個tag,用來定義一類功能,我們查看百度首頁的html代碼,可以看到有很多div,input,a等tag,所以很難通過tag去區(qū)分不同的元素。
5、link定位:find_element_by_link_text()
此種方法是專門用來定位文本鏈接的,比如百度首頁右上角有“新聞”,“hao123”,“地圖”等鏈接。
我們來定位“新聞”這個鏈接元素,代碼如下:
6、partial_link:
find_element_by_partial_link_text()
有時超鏈接的文本很長,如果全部輸入既麻煩又不美觀,這時候我們就可以只截取一部分字符串,用這種方法模糊匹配了。
7、xpath定位:find_element_by_xpath()
前面介紹的幾種定位方法都是在理想狀態(tài)下,有一定使用范圍的,那就是:在當前頁面中,每個元素都有一個的id或name或class或超鏈接文本的屬性,那么我們就可以通過這個屬性值來定位。
但實際工作中并非如此理想,有時我們要定位的元素并沒有id,name,class屬性,或者多個元素的這些屬性值都相同,又或者刷新頁面,這些屬性值都會變化。那么這個時候我們就只能通過xpath或者CSS來定位了。
8、CSS定位:
find_element_by_css_selector()
這種方法相對xpath要簡潔些,定位速度也要快。
學校首頁| 學校簡介| 課程列表| 學校新聞| 學校相冊| 教師團隊| 聯(lián)系我們
深圳澤林教育課程請咨詢:
滬ICP備18048269號-1
電子營業(yè)執(zhí)照
教育
全國教育網(wǎng)站
企業(yè)信用等級AA級
合作/版權(quán)/投訴
本頁信息由注冊用戶(機構(gòu)和個人)自行發(fā)布或提供,所有內(nèi)容僅供參考,任何關(guān)于對該用戶的推薦都不能替代您的考察核實,本站不承擔該用戶發(fā)布/提供信息的行為或內(nèi)容所引起的法律責任