介绍xpath中normalize-space的用法 - 51ste.com
登录|注册

介绍xpath中normalize-space的用法

作者:stady  发布时间:2019-04-18 12:59:32  关键字:normalize-space 

下面这个菜单中,要点击“货运表现”,我们来看一下xpath, 菜单中的所有项的id都是“vertab”,所以不能用id来定位,那么先用文本的xpath试试

xpath=//a[text()='货运表现']

文本的xpath

发现定位不了,因为文本“货运表现”的前后有空格和换行,那么用包含文本的xpath试试

//a[contains(text(),'货运表现')]

但是这个菜单中还有个“非货运表现”,文本也包含“货运表现”,显然不行

xpath中normalize-space的用法

换成这个试试

//a[contains(text(),'货运表现') and not(contains(text(),'非货运表现'))]

xpath中normalize-space的用法

发现匹配到了多个,原来页面其他地方还有符合这个条件的,前面说了,这个菜单里面的几个项都有共同的id,那么加上id的条件试试

//a[@id='vertab' and contains(text(),'货运表现') and not(contains(text(),'非货运表现'))]

这个时候就可以了

有没有更简单的方法呢,各种语言里面都有去除前后空格的方法,难道xpath没有吗?

答案是:有

normalize-space这个方法就可以去除文本中的前后空格和回车,所以这样写

//a[normalize-space(text())='货运表现']

就可以了。

 

本文由51ste.com网友编辑,未经授权,不得转载使用上述作品盈利;个人转载,需标明原文作者及出处。

更多相关文章

说说看法查看全部评论(0)

微信二维码

部落微信公众号

QQ二维码

部落QQ群二维码