1. 程式人生 > >web自動化測試---css方式定位頁面元素

web自動化測試---css方式定位頁面元素

class 進行 lec web 輸入框 python 百度 inpu 直接

  css方式定位的方法也有很多,相較於xpath更靈活一點,下面就介紹下使用方法(以百度輸入框為例)

1、通過tag來定位,可以寫成如下:

driver.find_element_by_css_selector(‘input‘).click()

這裏要說明的是tag為input的必須唯一才能這麽寫,否則可以用其他方式定位

2、通過id來定位,可以寫成如下:

driver.find_element_by_css_selector(‘#kw‘).click()

id前面加個#即可,很簡單,也可以和tag組合來寫:

driver.find_element_by_css_selector(‘input#kw‘).click()

3、通過class來定位,可以寫成如下:

driver.find_element_by_css_selector(‘.s_ipt‘).click()

也很簡單,當然也可以和tag組合來寫:

driver.find_element_by_css_selector(‘tag.s_ipt‘).click()

4、通過父子關系定位,可以寫成如下

driver.find_element_by_css_selector(‘span>input‘).click()

這裏是通過tag來做例子,其實對於父節點和子節點來說都可以各自按照1、2、3來寫,中間用>來連接即可,這樣更能保證元素的唯一性,比如:

driver.find_element_by_css_selector(‘span>input#kw‘).click()

5、還可以通過tag中除了id、class之外的其他屬性來定位元素,如輸入框通過name屬性來定位:

driver.find_element_by_css_selector(‘input[name="wd"]‘).click()

屬性可以帶值,也可以不帶,直接寫成如下形式:

driver.find_element_by_css_selector(‘input[name]‘).click()

6、除了5中所示的形式,還可以對屬性的值進行過濾,如下:

name屬性的值以w開頭

driver.find_element_by_css_selector(‘input[name^="w"]‘).click()

name屬性的值以d結尾

driver.find_element_by_css_selector(‘input[name$="d"]‘).click()

name屬性的值包含w字符

driver.find_element_by_css_selector(‘input[name*="w"]‘).click()

基本上通過上面的css操作都能夠唯一確定一個元素,當然也有特殊情況。這個需要具體問題具體對待。

web自動化測試---css方式定位頁面元素