Xpath

上一篇 / 下一篇  2013-03-05 08:59:06 / 个人分类:XPath

   如果进行自动化测试,尤其是web的自动化,用到Xpath的时候应该比较频繁,我也简单的看了下,做些记录:
   <?xml version = "1.0" encoding = "utf-8"?>
    <bookstore>
       <book>
          <title lang = "eng">Leaning XML</title>
          <price type = "$"> 20.22 </price>
       </book>
       <book>
          <title lang= "china">吴永达PMP</title>
          <price type = "¥"> 19.22 </price>
       </book>
   </bookstore>
 
 1、Xpath的语法
   a、 nodeName   选取此节点的所有子节点
   b、 /          从根节点选取
   c、 //         从匹配的节点开始选择节点,而不考虑位置
   d、 .          从当前节点
   e、 ..         从当前节点的父节点
   f、 @          节点的属性
 2、Xpath 数组和函数使用
    a、/bookstore/book[1]   选取属于bookstore子元素的第一个book元素
    b、/bookstore/book[last()]  选取属于bookstore子元素的最后book元素
    c、/bookstore/book[lase() - 1]  选取属于bookstore子元素倒数第二个book元素
    d、/bookstore/book[last() <3]  选取属于bookstore子元素的前两个book元素
    e、//title[@lang]  选取属性为lang的title元素
    f、//title[@lang=’eng‘]  选取属性lang的值为eng的title的元素
    g、/bookstore/book[price>20] 选取bookstore子元素的book元素,且其中的price元素的值大于20
    h、/bookstore/book[price>20]/title  选取bookstore子元素的book元素的title元素,且其中的price的值大于20
  3、Xpath 通配符
   a 、×  匹配任何元素节点
   b 、@× 匹配任何属性
   c 、node() 匹配任何节点
  4、函数的使用 count(),name(),contains(),starts_with()
   a、//*[count(price)=2]  选取包含2个price子元素的元素
   b、//*[name()=title]   选取元素名为title的元素『的同于//title』
   c、//*[contains(name(),'b')]  选取包含'b'的所有元素
   d、//*[starts_with(name(),'t')] 选取首字母为't'的所有元素

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 2392
  • 日志数: 3
  • 建立时间: 2011-11-30
  • 更新时间: 2013-03-11

RSS订阅

Open Toolbar