(五)Appium定位方式二-----XPath定位

1.Xpath介绍

这一篇主要说一下XPath定位方式,XPath 是一门在 XML 文档中查找信息的语言。

XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。

以下面的例子为例:

1.1 选取节点

 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式:

下面举例一些路径表达式的具体用法和含义:

1.2 谓语

谓语用来查找某个特定的节点或者包含某个指定的值的节点。

谓语被嵌在方括号中。

在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:

1.3 选取未知节点

XPath 通配符可用来选取未知的 XML 元素。

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

1.4 选取若干节点

通过在路径表达式中使用"|"运算符,您可以选取若干个路径。

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

2.Xpath定位

上面大概列举了一些Xpath的语法,现在开始举例Xpath定位,如果上一篇介绍的元素定位方式还是定不到的话,可以采用Xpath定位的方式来定位。

格式:find_element_by_xpath(“元素路径”)

元素路径的格式://classname[@=’’],@后面是属性

        Classname[contains(@,’’)],@后面是属性,逗号后面是属性具体值

2.1通过id定位

例如:定位到下图红框所标识的位置

albumtab=driver.find_element_by_xpath("//android.widget.TextView[@id='com.android.music:id/artisttab']")

具体代码如下:

其他通过属性来定位的,基本都可通过这种方式

其实Xpath定位主要是可以使用元素的绝对路径和相对路径来定位,绝对路径太长了,不太建议使用;比较推荐使用的是绝对路径,上面的例子是通过相对路径来定位的

 

posted @ 2019-08-09 15:03  xxy会飞的鱼  阅读(311)  评论(0编辑  收藏  举报