自动化——元素定位

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选择器")

  技术分享图片

 

以上是关于自动化——元素定位的主要内容,如果未能解决你的问题,请参考以下文章

CSS代码片段

如何使绝对定位的元素响应?

web自动化测试以及定位元素操作

web自动化测试以及定位元素操作

web自动化测试以及定位元素操作

自动化测试——selenium(环境部署和元素定位篇)