web自動化測試---css方式定位頁面元素
阿新 • • 發佈:2018-05-17
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方式定位頁面元素