xpath,css select 定位元素

xpath定位 元素

//* :找到页面内所有的元素
//div:只找页面中的div
/:下一级
#单属性定位   
//div[@classname='daliuliu'] #定位页面中classname为daliuliu的 div

#多属性定位   //div[@classname='daliuliu' and @name='name'] #定位页面中classname为daliuliu,name=name 的 div

#层级定位   //div[@classname='daliuliu']/input[@type='text'] #定位页面中classname为daliuliu的 div下,type=text的input元素

#下标定位   //div[@classname='daliuliu']/input[@type='text'][1]#定位页面中classname为daliuliu的 div下,第一个type=text的input元素

css_select 定位元素

# css_select 定位元素
#此方式没有像xpath那样的下标取值,当定位的多个元素时需要按层级的方式定位到自己想要的元素

# 用元素的id定位    #daliuliu  #定位id是daliuliu的元素

# 用元素的class定位
    .daliuliu  #定位class是daliuliu的元素

#用元素的自定义属性定位
    div[name='name'] #定位name=name的div

# 多属性定位原先
    div[name='name'][classname='daliuliu'] #定位name=name,classname=daliuliu的这个div 
#层级定位
    div[name='name']>input #定位div name=name 下的input元素
#
 div[name^='na'] #定位 name名称以na开头的div元素
 div[name$='na'] #定位 name名称以na结尾的div元素

css:索引

 

   1.css也可以通过索引option:nth-child(1)来定位子元素,这点与xpath写法用很大差异,其实很好理解,直接翻译过来就是第几个小孩 

#选择第一个option
driver.find_element_by_css_selector("select#nr>option:nth-child(1)").click()
#选择第二个option
driver.find_element_by_css_selector("select#nr>option:nth-child(2)").click()
#选择第三个option
driver.find_element_by_css_selector("select#nr>option:nth-child(3)").click()

 
 

 

posted @ 2019-08-21 18:16  刘淑贤  阅读(1094)  评论(0编辑  收藏  举报