Selenium自动化 Xpath元素定位

  

最近在教妹子作自动化测试,妹子基础差,因而想到不少初学自动化的朋友们学习的知识没有规范化,信息太过杂乱。因此,本文整理了一些自动化元素定位方式:html

  此次将讲Xpath定位!浏览器

什么是Xpath:post

  Path就是路径,xpath也相似,就像 在DOS中 D:\Auto\jack。学习

Xpath的使用:测试

  1:在火狐下载 FirePath 插件(图1),而后在浏览器 F12 使用Xpath 能直接定位到元素,而且可以获取元素的Xpath(图2)spa

          

 

Xpath的使用方法:插件

 例子 1:html/body/div[1]/div[2] (若是不熟悉html的朋友们,须要自行百度html。)htm

   该xpath 表示 : 在 html标签下 -> body标签下 -> 第一个div标签下 -> 第二个div标签blog

  很好理解,继续自动化

 

 例子 2:.//*[@id='content']/div[2]/ul

   这样会有人不理解了 .//*[@id='content'] 究竟是什么意思呢?

    . 表明当前路径

    a//b 表示:在a标签下的子孙辈b标签

    * 能够是任何标签

    [@id='content'] 表示是 id 为 content

  因此:这个例子的意思是: id 为 content 的任何子标签下面 -> 第二个 div标签下 -> ul 标签

  

Xpath基础学习完毕,接下来开始进阶学习

  //p[text()='a']  :文本为 a 的p标签

  //p[text()='a']  : 文本包含 a 的p标签

  //a[@class='abc']   :class 为 a的 p标签 (固然咯。既然能够为 @class 就必定能用 @id ,为何不联想下 @src 和@href呢?)

  //p[not(@class='a')]   :class 不为 a的 p标签

 

好了,进阶完毕,若是要使用更高阶的Xpath要先属性以上内容,而后联合 Selenium使用

 

Xpath和其余定位方式的比较:(主要是和CSS定位的对比)

  Xpath的最大好处是能向上查找,不过缺点是速度过慢。

 

以为有用记得点赞哦。