自动化——元素定位
Posted zzp-biog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化——元素定位相关的知识,希望对你有一定的参考价值。
元素定位的8种方法
讲解示例:
1 <html> 2 3 <head> 4 ........... 5 </head> 6 7 <body> 8 <div name="demo"> 9 <span1> 10 <p>这是一段实例文本</p> 11 </span1> 12 <span2> 13 <P>文本2</P> 14 </span2> 15 </div> 16 </body> 17 18 </html>
1、xPath的定位方法:
$x( "//元素名[@属性名=‘属性值‘] [序号]" ) ——使用元素的开始标签中的 “属性” 来定位
$x( "//元素名[text()=‘文本内容‘] [序号]" ) ——使用开始标签和结束标签之间的文本内容来定位
说明: 定位<div>元素:$x("//div[@name=‘demo‘]")
定位<p>元素:$x("//p[text()=‘这是一段实例文本‘]")
使用“//”表示在整个页面的所有元素中进行全路径的查找(常用“//”来减少中间层级的元素,用于相对路径查找),如果换成“/”表示在当前指定的元素中进行查找(用于绝对路径查找),例如:
定位<div>元素:$x("/html/body/div")
定位<p>元素:$x("/html/body/div/span1/p")
也可以“//”和“/”混合使用:
定位<p>元素:$x("//body/div//p[text()=‘文本2‘]")
使用属性值的方式来定位元素时,可以使用“=”,也可以使用“contains”(对应的属性值或者文本内容可以只包含一部分,相当于模糊查询),
语法是:contains(@属性名,‘属性值的一部分‘)或者 contains(text(),‘文本内容的一部分‘)
查找<div>元素:$x("//div[contains(@name,‘de‘)]") 或者 $x("//p[contains(text(),‘这是‘)]")
类似于contains的用法还有:stars-with等等
2、css选择器的定位方法:
$$("css选择器") 或者 $("css选择器")
以上是关于自动化——元素定位的主要内容,如果未能解决你的问题,请参考以下文章