在selenium测试中使用XPATH功能函数starts-with、contains、descendant、ancestor、text()定位网页元素
2016-01-07 10:08
645 查看
转载地址:http://blog.csdn.net/godenbird312/article/details/41444587
项目中一些使用xpath函数的复杂例子,记录于此
1. 使用starts-with
//div[starts-with(@id,'res')]//table//tr//td[2]//table//tr//td//a//span[contains(.,'Developer Tutorial')]
2.使用contains和and
//div[starts-with(@id,'res')]//table[1]//tr//td[2]//a//span[contains(.,'_Test') and contains(.,'KPI')]
3.使用descendant
//div[starts-with(@id,'res')]//table[1]//tr//td[2]//a//span[contains(.,'QuickStart')]/../../../descendant::img
4.使用ancestor
//div[starts-with(@id,'res')]//table[1]//tr//td[2]//a//span[contains(.,'QuickStart')]/ancestor::div[starts-with(@id,'res')]//table[2]//descendant::a[2]
5.使用text()
//span[@id='idHeaderTitleCell' and contains(text(),'QuickStart')]
参考: http://www.w3school.com.cn/xpath
项目中一些使用xpath函数的复杂例子,记录于此
1. 使用starts-with
//div[starts-with(@id,'res')]//table//tr//td[2]//table//tr//td//a//span[contains(.,'Developer Tutorial')]
2.使用contains和and
//div[starts-with(@id,'res')]//table[1]//tr//td[2]//a//span[contains(.,'_Test') and contains(.,'KPI')]
3.使用descendant
//div[starts-with(@id,'res')]//table[1]//tr//td[2]//a//span[contains(.,'QuickStart')]/../../../descendant::img
4.使用ancestor
//div[starts-with(@id,'res')]//table[1]//tr//td[2]//a//span[contains(.,'QuickStart')]/ancestor::div[starts-with(@id,'res')]//table[2]//descendant::a[2]
5.使用text()
//span[@id='idHeaderTitleCell' and contains(text(),'QuickStart')]
表达式 | 描述 |
---|---|
nodename | 选取此节点的所有子节点。 |
/ | 从根节点选取。 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
. | 选取当前节点。 |
.. | 选取当前节点的父节点。 |
@ | 选取属性。 |
相关文章推荐
- 用 map 输出一定格式的字符串Plain=w=b~|~t=e~|~e=c~|~r=d~|~q=a
- Saltstack的grains组件(5)
- 新款Macbook Air安装Windows8.1黑屏解决教程
- [王垠系列]Braid - 一个发人深思的游戏
- 摘花生 http://bailian.openjudge.cn/summeracm2014final/L/
- POJ 2010 Moo University - Financial Aid(优先队列or二分搜索—最大化K大值)
- rails手脚架(scaffold)功能
- Failed to set permissions of path
- MFC的OnPaint工作原理
- cout输出字符串地址 http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631049c0666e04de3e69c0d0622e95
- Sicily 1692. Cover Constraints
- [Andrid转]新版安卓SDK文件activity_main.xml和fragment_main.xml的处理
- Daily Scrum – 1/6
- http://blog.csdn.net/zhang_xinxiu/article/details/38655311
- NSBundle 的理解和 mainBundle 类方法详解,nsbundlemainbundle
- 70. Climbing Stairs
- List的contains()方法(转)
- 解决: Fail to create empty document
- LoadRunner运行场景,错误---Error: Failed to send data by channels - post message failed.
- Sicily 1741. Jaunt around the Zhuhai Campus