xpath中normalize-space的用法【转载】
2024-09-01 05:24:46
下面这个菜单中,要点击“货运表现”,我们来看一下xpath, 菜单中的所有项的id都是“vertab”,所以不能用id来定位,那么先用文本的xpath试试
//a[text()='货运表现']
发现定位不了,因为文本“货运表现”的前后有空格和换行,那么用包含文本的xpath试试
//a[contains(text(),'货运表现')]
但是这个菜单中还有个“非货运表现”,文本也包含“货运表现”,显然不行
换成这个试试
//a[contains(text(),'货运表现') and not(contains(text(),'非货运表现'))]
发现匹配到了多个,原来页面其他地方还有符合这个条件的,前面说了,这个菜单里面的几个项都有共同的id,那么加上id的条件试试
//a[@id='vertab' and contains(text(),'货运表现') and not(contains(text(),'非货运表现'))]
这个时候就可以了
有没有更简单的方法呢,各种语言里面都有去除前后空格的方法,难道xpath没有吗?
答案是:有
normalize-space这个方法就可以去除文本中的前后空格和回车,所以这样写
//a[normalize-space(text())='货运表现']
就可以了。
最新文章
- redis主从复制搭建
- js简化判断是否为手机访问
- 我曾经的第一个OC程序
- 一颗躁动的心---下决心从SLAM开始,不钻研嵌入式底层了
- Python3学习(2)-中级篇
- 【JQuery NoviceToNinja系列】01 开篇 Html页面设计和布局
- request常用方法小结
- [jobdu]二进制中1的个数
- stack 集合栈计算机 (摘)
- QT窗口拖拽功能简单应用(处理dragEnterEvent和dropEvent事件,不同的事件有不同的信息,比如mimeData)
- Mysql 当安装完成后不执行 mysql 和 performance_schema 数据库
- POJ 1947 树DP获得冠军
- DOCKER 无法获取使用宿主机DNS 的原因,解决方法
- Unix 和· Linux 系统概述
- Qt编写自定义控件6-指南针仪表盘
- Clion调试ROS包
- P4186 【[USACO18JAN]Cow at Large G】
- .NetCore Cap 结合 RabbitMQ 实现消息订阅
- MacOS(10.11.6)+Qt(5.5.1)+Xcode(8.2) C++开发环境配置
- [LeetCode 题解]: Linked List Cycle II