web自動化測試---web頁面元素的定位


  selenium提供了很多用於定位元素的方法,首先我們自己需要知道元素有哪些屬性,這就需要用到安裝測試環境中firebug來定位

  打開firefox瀏覽器,按下F12鍵,我們就可以看到如下圖所示的界面:

  

點擊中間紅框中的按鈕再點擊頁面上的元素,就可以在下面頁面代碼處看到對應的屬性,比如輸入框有id、class、name、value還有個tag屬性,除了value之外其他都可以作為定位該元素的方法。相關代碼如下:

driver.find_element_by_id("kw").send_keys('python')
driver.find_element_by_class_name("s_ipt").send_keys('python')
driver.find_element_by_name("wd").send_keys('python')
driver.find_element_by_tag_name("input").send_keys('python')

 當然,有些屬性可能在一個web界面上有多個對應的值,這時候可以用find_elements_by_**來獲取后,再根據位置來定位,比如tag為input的有3個,當前的需要的輸入框在第二個,那么可以寫成如下:

driver.find_elements_by_tag_name("input")[1].send_keys('python')

 一般在定位一個元素的時候,會通過他在web界面唯一屬性來定位。

 

當然定位元素的方法還有其他幾種:

1、xpath方法,這個方法在比較固定的web界面中是比較實用的,比如百度輸入框,可以通過下面來定位

driver.find_element_by_xpath('//*[@id="kw"]').send_keys('python')

xpath方法可以是完整路徑,也可以是部分路徑,一般根據實際情況來設置,后面會專門講到 

 

2、css方法,這個方法是最快速的查找元素方法,可以根據不同條件來定位元素,比如百度輸入框,可以通過下面的語句定位:

driver.find_element_by_css_selector('input.s_ipt').send_keys('python')

 css定位手段靈活多變,后面會專門講到

 

3、如果元素是個鏈接,我們可以通過link方法來定位,比如百度首頁右上的一排元素,可以通過這種方式來定位,比如hao123網址:

driver.find_element_by_link_text('tj_trhao123').click

 

這些都需要經常的使用才能熟悉,不要急於求成。長時間不用自然也會忘掉

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM