二、高级定位之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)---选购中心