使用xpath的轴(Axis)进行元素定位
2015-11-11 18:51
399 查看
使用Xpath轴方式可依据在文档数中的元素的相对位置来进行定位,先找到一个相对好定位的元素,在根据与它相对位置来定位其他元素,可以解决一些元素难以定位的问题。今天学习了,写下笔记加深下印象
如家HTML页面:
画出树状图如下所示:
下面是例子:
如家HTML页面:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>在此处插入标题</title> </head> <body> <div id="div1"> <input alt="div1-input1" id="iv1-input1" value="" /> <a href="http://www.baidu.com">test</a> <img alt="div1-img1" src=""> <input type="button" id="div1-button1" name="div1-button" /> </div> <div id="div2"> <input alt="div2-input2" id="div2-input2" value="" /> <a href="http://www.sogou.com">test</a> <img alt="div2-img2" src=""> </div> </body> </html>
画出树状图如下所示:
Xpath轴关键字 | 轴的定义说明 | 定位表达式实例 | 表达式解释 |
parent | 选取当前节点的父节点 | //img[@alt='div2-img2']/parent::div | 查找到alt属性为div2-img2的img元素,并基于图片找到其上一级的div元素 |
child | 选取当前节点的子节点 | //div[@id='div1']/child::img | 查找id为div1的div标签,基于当前div查找标签为img的子节点 |
ancestor | 选取当前节点的所有上层节点 | //img[@alt='div2-img2']/ancestor::div | 查找alt属性为div2-img2的图片,基于当前图片找到其上级的div页面元素 |
descendant | 选取当前节点所有下层节点 | //div[@id='div2']/descendant::img | 查找id属性为div2的div元素,在查找其下级所有节点中的img元素 |
following | 选取当前节点之后显示的所有节点 | //div[@id='div1']/following::img | 查找到ID属性为div1的div元素,并基于div的位置找到它后面节点中的img元素 |
following-sibling | 选取当前节点所有的平级节点 | //img[@alt='div1-img1']/following-sibling::input | 查找到alt属性为div1-img1的img页面元素,并基于img的位置找到后续节点中的input元素 |
preceding | 选取当前节点前面所有的节点 | //img[@alt='div2-img2']/preceding::div | 查找到alt属性为div2-img2的图片页面元素,并基于图片的位置找到它前面节点中的div元素 |
preceding-sibling | 选取当前节点前面所有平级的节点 | //img[@alt='div2-img2']/preceding-sibling::a[1] | 查找到alt属性值为div2-img2的图片元素,基于图片位置找到它前面同级节点的第二个链接页面元素 |
相关文章推荐
- Linux下高cpu解决方案
- MongoDB高级查询[聚合Group]
- 对文件操作之FileUtils方法大全
- c++中实现将字符串按模式分段
- imapsync 实现两个不同邮件域内邮箱的迁移和备份
- 低效的where1=1
- 109 打包.framework
- Mysql 命令操作用户并且分配数据库权限
- PHP 这个周一到周日是几月几号?
- Just a Hook-HDU1698(线段树求区间)
- Java实现两个有序链表的合并
- get 传递中文乱码 解决
- 分享 Java微信开发SDK
- Hql使用总结
- 032 - Longest Valid Parentheses
- 修改Tomcat控制台标题
- web application by java based on jsp, servlet and hibernate
- 简单的分享自己最近的一些项目,有机会详细说下的哦
- Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法
- C3P0的连接池参数解释