一、selenium中Xpath的使用方法
1. 什么是xpath?
Xpath是XML的路徑語言,通俗一點講就是通過元素的路徑來查找這個標簽元素
2. 練習Xpath的工具
火狐瀏覽器,下載插件FireBug和FirePath
3. Xpath使用方法
注:默認死格式,先寫//*代表定位頁面下的所有元素
(1)Xpath支持ID、class和name定位功能
通過id定位: //*[@id='i1']
通過class定位://*[@class='classname']
通過name定位: //*[@name='name']
(2)如果便簽沒有id,class和name三個綜述性,Xpath還支持屬性定位功能
@代表以屬性定位,后面看而已接標簽中的任意屬性,比如:
//*[@placeholder='請通過XPATH定位元素']
(3)當標簽的屬性重復時,Xpath提供了通過標簽來進行過濾,//input顯示所有的input標簽
//input[@placeholder='請通過XPATH定位元素']
(4)當標簽頁重復時,Xpath提供了層級過濾
例如:找不到兒子,那么久先找他的父級,實在不行可以找他的祖父級
//div/div[@id='dis']
(5)當層級都重復時,可以通過單個層級的屬性進行定位
//div/div[@id='w']/div
(6)一個元素它的兄弟元素跟它的標簽一樣,這時候無法通過層級定位,因為都是一個父親生的,多胞胎兒子,Xpath提供了索引過濾,索引從1開始,而非0
//select[2]
(7)上面幾種如果都用上了惠州還重復,我們就可以使用Xpath提供的終極神器,邏輯運算定位。and或or
//select[@name='city' and @size='4']
//select[@name='city' or @size='4']
二、selenium中CSS Selector的使用方法
1. 什么是CSS Selector?
CSS Selector定位實際就是HTML的CSS選擇器的標簽定位
2. 工具
火狐瀏覽器,下載插件FireBug和FirePath
3. CSS Selector的使用方法
(1)Css selector支持id、class的定位,與html中的css定位相同
通過id定位 #i1
通過class定位 .classname
通過class定位多個class .classname.c2.c3
(2)通過屬性定位,Css Selector支持任意屬性定位
[name='name']
(3)單單屬性定位不足以滿足我們的定位需求,Css Selector提供了標簽屬性組合定位
input[name='name'] input標簽下name屬性等於‘name’的
input#i1 input標簽下id是i1的
input.classname input標簽下class是classname的
div.inner>input div標簽下class是inner的 帶有input標簽的(注意尖角號)
Div.inner下有多個,但是不能用索引定位,要結合尖角號+屬性使用
(4)Css selector多屬性組合過濾,沒有and,只需要多個[]連接就可以
select[name='city'][size='4'][multiple='multiple']
(5)Css selector模糊匹配
^= 匹配元素屬性以什么開頭 input[value^="登"]
$= 匹配屬性以什么結尾 input[value$="錄"]
*= 匹配屬性包含什么值 input[value*="錄"]