高级定位之css selector-了解就可以!(7)

二、高级定位之css selector定位---了解!
1.优缺点:css selector简短、定位元素速度快,缺点符号多,不容易记忆,索引号筛选不简洁,功能不如xpath强大。
2.css是层叠式样式表,是用于表现html或xml样式的语言。css技术里有一个模块叫做UISelector,专门用于查找界面上的元素,css selector定位就是使用了这个模块里提供的css定位函数来定位元素的。
3.定位语法:
(1)语法一:find_element_by_css_selector("css表达式")
(2)语法二:find_element(By.CSS_SELECTOR,"css表达式")
示例:
guan=driver.find_element(By.CSS_SELECTOR,"#keyword")
4.css表达式里的语法:
(1)#后写目标元素的id属性值
示例:
#keyword 等价于xpath //*[@id='keyword']
input#keyword 等价于xpath //input[@id='keyword']
(2).后写目标元素的class属性值
示例:
.go 等价于xpath //*[@class='go']
input.go 等价于xpath //input[@class='go']
(3)[属性名称='属性值'] 用除id和class以外的其他属性来筛选
示例:
[name='imageField']
---等价于xpath //*[@name='imageField']
input[type='submit']
---等价于xpath //input[@type='submit']
(4)>代表父子关系,等价于xpath里的/
示例:
#searchForm>a
---等价于xpath //*[@id='searchForm']/a
(5)空格代表祖先和后代关系,等价于xpath里的//
示例:
div#search a 
---等价于xpath //div[@id='search']//a
(6):first-child代表查找兄弟关系节点中的第一个(不论什么标记统一排序)
示例:
#searchForm>select:first-child
(7):last-child代表查找兄弟关系节点中的最后一个(不论什么标记统一排序)
示例:
#searchForm>a:last-child
(8):nth-child(索引号)代表查找兄弟关系节点中的指定索引号的节点(不论什么标记统一排序)
示例:
#searchForm>input:nth-child(2) ---关键字文本框
#searchForm>input:nth-child(3) ---搜索按钮
#ECS_MEMBERZONE>a:nth-child(2)>img ---登录
#ECS_MEMBERZONE>a:nth-child(3)>img ---注册
#topNav>a:first-child---查看购物车
#topNav>a:nth-child(2)---选购中心

 

posted @ 2020-12-18 12:53  藤上小冬瓜  阅读(748)  评论(0编辑  收藏  举报