下面这个菜单中,要点击“货运表现”,我们来看一下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())='货运表现']

就可以了。

最新文章

  1. redis主从复制搭建
  2. js简化判断是否为手机访问
  3. 我曾经的第一个OC程序
  4. 一颗躁动的心---下决心从SLAM开始,不钻研嵌入式底层了
  5. Python3学习(2)-中级篇
  6. 【JQuery NoviceToNinja系列】01 开篇 Html页面设计和布局
  7. request常用方法小结
  8. [jobdu]二进制中1的个数
  9. stack 集合栈计算机 (摘)
  10. QT窗口拖拽功能简单应用(处理dragEnterEvent和dropEvent事件,不同的事件有不同的信息,比如mimeData)
  11. Mysql 当安装完成后不执行 mysql 和 performance_schema 数据库
  12. POJ 1947 树DP获得冠军
  13. DOCKER 无法获取使用宿主机DNS 的原因,解决方法
  14. Unix 和· Linux 系统概述
  15. Qt编写自定义控件6-指南针仪表盘
  16. Clion调试ROS包
  17. P4186 【[USACO18JAN]Cow at Large G】
  18. .NetCore Cap 结合 RabbitMQ 实现消息订阅
  19. MacOS(10.11.6)+Qt(5.5.1)+Xcode(8.2) C++开发环境配置
  20. [LeetCode 题解]: Linked List Cycle II

热门文章

  1. sklearn使用技巧
  2. Amdahl定律理解
  3. 关于python3与python2同时存在情况下导入pyqt失败解决记录
  4. vue.js 中组件的使用
  5. 【转】8年!我在OpenStack路上走过的坑。。。
  6. Anacodna之conda的使用
  7. [译].Net中的内存
  8. Integrating Thymeleaf with Spring
  9. the license has been canceled
  10. C# sql 批量插入数据库的语句