关于在自动化中Xpath表达式的书写,其实我也只是刚刚入门,粗略的跟着网上的教程学了一下,这篇我就来分享总结一下我学习到的知识。

首先呢,我们先认识一下什么是Xpath。Xpath是XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。因为Xpath基于XML的树状结构,提供了在数据结构树种寻找节点的能力,所以Xpath被开发者们当做一种小型的查询语言。

关于如何在网页中获取元素的Xpath表达式,我在上一篇文章中就已经介绍过了,在这篇中就不重复叙说了。当然,我在上篇文章上也说了,这种通过工具获取的Xpath表达式,是死板的,不精确的,很容易找不到元素。在实际的项目中,Xpath的表达式可能会是很长的一句,或者关键信息会有相同的存在,所以我们不能够快速准确的获取好唯一的节点信息。这就需要用一些其他的表达方法来帮助我们了。这也是我写这篇文章的用意。介绍几种比较实用的Xpath定位方法。

text()方法:这个方法我们用百度首页上的“新闻”按钮来举例。首先看网页源代码如下

我们可以看得出来在和“新闻”同类型的元素很多,他们的className是相同的,如果这时候源码中对方没有标出不同的name属性,那我对于我们获取新闻这个元素就很难了。这时候我们的text()方法就可以派上用场了。表达式:.//*[@id='u1']/a[text()='新闻']。也就是说,当我们要定位的元素是文本类型,且附近同类型元素太多时,我们就可以用text()方法来快速定位到我们需要的文本元素。

这里我在个人推荐一下,面对这样一个唯一标签下面,一排同类型标签的时候,我们还有一种简单的Xpath表达式来定位元素。例如,我们想要定位的“新闻”元素,它排在这群文本的第一位,表达式可以写成:.//*[@id='u1']/a[1]。代表我要定位id为“u1”标签下所有已“a”标签起头的元素中的第一个元素。

在我目前的自动化学习过程中,我用到方法就是以上者三种方法,当然肯定还有更多其他好用的方法,不过对于我来说,目前这三种已经够用了。所以我也就简略的介绍了一下这三种方法。

最新文章

  1. 预览github里面的网页或dome
  2. html5/css学习笔记
  3. DevExpress GridControl功能总结
  4. javascript实例学习之五——瀑布流布局
  5. (六)Ireport制作一个规范的报表,处理数据格式
  6. hdu1814 Peaceful Commission,2-sat
  7. js框架——angular.js(6)
  8. Python List 删除元素
  9. 20.react库 入门
  10. Azure Storage (26) HTML5播放Azure Storage MP4问题
  11. j.u.c系列(02)---线程池ThreadPoolExecutor---tomcat实现策略
  12. 6 ways to import data into SQL Server
  13. python 单例模式,一个类只能生成唯一的一个实例,重写__new__方法详解
  14. C#控制台应用程序之选课系统
  15. Java-ThreadLocal,Java中特殊的线程绑定机制
  16. Git 客户端基本配置
  17. [翻译] FSLineChart
  18. IT行业大学生就业分析报告感想
  19. JDBC 调用存储过程代码示例
  20. RedisDesktopManager-0.9.3 for windows (转)

热门文章

  1. 【推荐系统】知乎live入门4.排序
  2. java通过图片URL下载图片
  3. P2617 Dynamic Rankings(待修改区间第k大)
  4. Android解决冲突
  5. Codeforces Round #585 (Div. 2) [补题]
  6. bzoj2085 [Poi2010]Hamsters 矩阵快速幂+字符串hash
  7. Spring---异步消息
  8. 实现bind函数
  9. UEditor可以如何直接复制word的图文内容到编辑器中
  10. 【HDOJ6638】Snowy Smile(线段树)