web自动化测试xpath和css定位练习

xpath路径表达式

通过节点名定位(http://www.ifeng.com/)
html                                                    定位到html节点
html/head                                           定位到head节点
html/head/meta                                  定位好head中的所有meta节点
相对路径定位节点(http://www.ifeng.com/)
//title                                                   使用相对路径定位到title节点
//meta                                                 使用相对路径定位到所有meta节点
使用.和..定位本身和父节点(http://www.ifeng.com/)
/html/head/title/./..                               使用.定位到title本身再使用..定位到title的父节点
/html/head/title/./../body                       使用.定位到title本身再使用..定位到title的父节点,然后在定位到body子节点
通过@定位   格式 标签名[@属性名='属性值']
//meta[@name='author']                       定位到所有的meta,再从中找到name=author的那一个
//div[@id]                                             定位到所有div标签,再过滤出有id属性的节点
通配符定位节点
//*                                                         匹配所有节点
/*                                                          匹配绝对路径最外层
//*[@*]                                                   匹配所有有属性的节点
/html/node()/meta                                 匹配所有含有meta的节点

糗事百科练习xpath
//div[@id="content-left"]/div                             定位到所有糗事帖子节点
//div[@id="content-left"]/div[1]                         通过索引定位到第一个节点
//div[@id="content-left"]/div[last()]                   通过last()索引定位到结果中的最后一个
//div[@id="content-left"]/div[last()-n]                通过last()-n索引定位到结果集中的倒数第n+1个
//div[@id="content-left"]/div[position()=n]         定位到结果集中第n个节点
//div[@id="content-left"]/div[position()<n]         定位到结果集中索引小于n的节点
//div[@id="content-left"]/div[position()>n]         定位到结果集中索引大于n的节点
//span[i=n]                                                        定位到好笑计数等于n的节点
//span[i>n]                                                        定位到好笑计数大于n的节点

//meta | //script | //link                                               使用多个xpath,所有xpath的结果都放到一个结果集中
//*[starts-with(@name,'rend')]                                  匹配以标签属性值以给定值开头的节点
//*[contains(@name,'end')]                                      匹配给定值在标签属性中的节点
//*[@content="noarchive" and @name="robots"]     匹配同时符合两个属性值的节点



css选择器                        
.weixinBottom                通过class的值进行定位
#wx                               通过id的值进行定位
div                                通过标签进行定位

meta,link                    匹配两种标签结果集
div a                           匹配div标签中的所有后代a标签
div>a                          匹配div后是一个a标签的节点
div+div                        匹配div后面的同胞div节点

[id]                              匹配所有含有id属性的标签
[id='wx']                       匹配所有含有id并且值为wx的标签
[type="submit"]    
[class~="Login"]                  定位标签属性class值中有独立Login的节点
[name|=msapplication]        定位标签属性name的值以msapplicatio开头的节点(该节点需为一个完整的单词)


[src^="http://"]                    匹配scr属性以http://开头的节点
[src$="js"]                          匹配src属性以js结尾的节点
[src*="ifengimg"]                匹配src属性中含有ifengimg的节点

img:only-child                    匹配所有独生子女的img节点
body>div:nth-child(1)        匹配body的第n个div子节点
body>*:nth-last-child(1)     匹配body的最后一个子节点

:not(link)                            查找不是link标签的节点

posted @ 2020-05-12 21:10  jeyeshield  阅读(233)  评论(0编辑  收藏  举报