XPath定位方式是自动化测试定位里面,最有用的一种方法,几乎能解决所有的定位难题。
XPath的介绍
XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。XPath 定位和CSS定位相比有更大的灵活性。XPath 在文档树中某个节点既可以向前搜索,也可以向后搜索,CSS定位只能在文档树中向前搜索,但XPath的定位速度比CSS 慢一些。
XPath语法
由于网页的HTML代码是一种特殊的XML文档,因此XPath也支持在HTML代码中定位HTML梳妆文档结构中的节点。
被测试的HTML代码:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
input .spread {
FONT-SIZE: 20pt;
}
input.tight {
FONT-SIZE: 10pt;
}
</style>
</head>
<body>
<div id="div1">
<input name="div1input"></input> <a href="http://www.sogou.com">搜狗搜索</a>
<img alt="div1-img1" src="https://http://www.sogou.com/images/logo/new/sogou.png"
href="http://www.sogou.com">搜狗图片</img>
<input type="button" value="查询"></input>
</div>
<br/>
<div name="div2">
<input name="div2input"></input> <a href="http://www.baidu.com">百度搜索</a>
<img alt="div2-img2" src="https://www.baidu.com/img/bdlogo.png"
href="http://www.baidu.com">百度新闻</img>
</div>
</body>
</html>
使用绝对路径来定位元素
在被测试页面中,查找第一个div标签中的按钮。
XPath表达式:/html/body/div/input[@value&