Xpath定位方法

常用方法

1.text()
以百度首页右上角“新闻”定位举例,如下图

20170328173126462.png

2.contains()
JD首页左侧电脑菜单举例
image.png

image.png

这里href = //diannao.jd.com, 如果我觉得这个href太长,我只取关键字diannao,利用contains()方法来定位就方便多了,推荐电脑这个元素的XPath://*/a[contains(@href,'diannao')]

  1. 相对XPath路径写法
    有时候,我们遇到目标元素节点的信息很少,不足够用来精确定位到目标元素,这个时候,我们就需要考虑,利用目标元素上下附件节点,通过确定附件的节点从而确定目标元素,这种方式就叫相对路径。
    这里用百度新闻首页的一个单选按钮来举例


    image.png

    火狐浏览器上firepath给出的推荐表达式是:


    image.png

    这里推荐的XPath是根据目标元素节点中id信息来定位的,这个通过id就能定位,当然好。有时候,如果这个id不能作为参考值,我们需要利用相对定位方法来定位这个新闻标题前面的单选按钮;
    1)先根据for = newstitle 或者text()=新闻标题来定位“新闻标题”这个标签。
    2)根据相对定位来确定“新闻标题”前面的这个radio按钮。
    3)XPath的写是:

    .//*/label[@for='newstitle']/../input[@id='newstitle']
    由于,当前这个举例不是很符合只能采用相对定位才能确定元素的场景,感觉这个表达式定位,在这里反而更复杂化,但是,相对定位元素方法是一样的,和上面举例的步骤、思维方式是一致的。如果发生了,无法通过目标元素节点信息来定位,那么,就要考虑是否采用相对路径来解决这个问题。元素定位,理论上是没有定位不到的元素,通过以上方法,基本上能定位项目中大部分元素。

4.取最后一个元素
取xpath最后一个book元素
book[last()]

取xpath最后第二个book元素
book[last()-1]

5.取第一个元素

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容