Xpath 定位

                                                                      Xpath 定位

一、介绍:Xpath定位

  XPath是用来定位XML文档节点的语言。不过HTML可以看成是XML(XHTML)的一种实现。Selenium用户可以使用这个强力的语言来瞄准Web应用的元素。 XPath延伸了用id或者name属性来定位的单一方法,开创了许多可能性,例如定位页面的第三个复选框

  用XPath的主要理由之一,就是你想定位的元素没有合适的id或者name属性的时候,你可以用XPath来对元素进行绝对定位(不推荐)或者把这个元素和另外一个有确定id或者name的元素关联起来(即相对定位)。XPath定位器也可以用来找出那些具有id,name以外属性的元素。

  绝对的XPath定位包含了从HTML根节点起的所有元素,并且一些轻微的改变就会失效。而用id或者name属性来找到一个靠近的元素(比较理想的是父元素),这样你就可以依靠他们的相对关系来确定目标元素的位置。这种情况改变的可能就小了很多了,我们写的测试程序也会更可靠。

二、相关文章

火狐浏览器 附件组件 Xpath 安装

火狐浏览器 附件组件 Xpath 使用

三、HTML代码




    
    Title


    
这是最外面的div

标题

时间

作者

这是文章内容 百度链接1
这是尾部1 百度链接2
这是尾部2

四、使用

1、获取 [ 时间 ]

  • 根据id定位:      //h2[@id='time']
  • 根据name定位://h2[@name='time']
  • 根据class定位: //h2[@class='time']
  • 根据节点定位:
  •        逐级定位://div[@id='out']/div/h2[@id='time']
  •        跨级定位    //div[@id='out']//h2[@id='time']
  • 下标定位(下标从1开始):   //div[@class='header']/h2[1]
  • 双条件同时定位:                   //div[@id='out']//h2[@id='time'][@class='time']

Xpath 定位_第1张图片

2、获取 [ 作者 ]

  • class包含(contains)定位:     //h2[contains(@class,'author')]
  • 下标定位(下标从1开始):   //div[@class='header']/h2[2]

Xpath 定位_第2张图片

3、获取 [ 时间 ] [ 作者 ]

  • 节点跨级定位://div[@id="out"]//h2
  • 布尔or定位:    //div[@id="out"]//h2[@id='time' or @id='author']

Xpath 定位_第3张图片

4、获取 [ 百度链接1 ] [ 百度链接2 ]

  • 根据title属性模糊定位     //a[contains(@title, '即将去百度')]
  • 根据文本内容模糊定位    //a[contains(text(), '百度链接')]
  • start-with方法(以xx开头)  //a[start-with(@id,'href')] #这个匹配不到,不知道什么情况

Xpath 定位_第4张图片

5、获取 [ 作者 ] 文本内容

  • //h2[contains(@class,'author')]/text()

Xpath 定位_第5张图片

  点击 Show all results 查看详情页

Xpath 定位_第6张图片

五、Xpath语法:https://www.runoob.com/xpath/xpath-syntax.html

你可能感兴趣的:(#,浏览器相关)