自动化定位——通过XPath定位元素

Posted xiaomifeng0510

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化定位——通过XPath定位元素相关的知识,希望对你有一定的参考价值。

XPath是一种XML文档中定位元素的语言。该定位方式也是比较常用的定位方式

1通过属性定位元素

   find_element_by_xpath("//标签名[@属性=‘属性值‘]")

id属性:

  find_element_by_xpath("//input[@id=‘kw‘]")

class属性:

  find_element_by_xpath("//input[@class=‘s_ipt‘]")

name属性:

  find_element_by_xpath("//input[@name=‘wd‘]")

maxlength属性:

  find_element_by_xpath("//input[@maxlength=‘255‘]")

 

2通过标签名定位元素

指所有input标签元素

  find_element_by_xpath("//input")

 

3父子定位元素

查找有父亲元素的标签名为span,它的所有标签名叫input的子元素

  find_element_by_xpath("//span/input") 

 

4根据元素内容定位元素(非常实用)

  find_element_by_xpath("//p[contains(text(),‘京公网‘)]") 

 

注:contains的另一种用法

  //input[contains(@class,‘s‘)]

说明class属性包含s的元素。

 

5组合定位元素

//父元素标签名/标签名的属性值:指的是span下的input标签下class属性为s_ipt的元素

  find_element_by_xpath("//span/input[@class=‘s_ipt‘]")

多个属性组合定位(挺常用的)

指的是input标签下id属性为kw且name属性为wd的元素

  find_element_by_xpath("//input[@class=‘s_ipt‘ and @name=‘wd‘]")

指的是p标签下内容包含“京公网”且id属性为jgwab的元素

  find_element_by_xpath("//p[contains(text(),‘京公网‘) and @id=‘jgwab‘]")  

 

比较懒惰的方法:

使用搜狐浏览器的firebug工具,复制XPath路径,不过这种方式对层级要求高,到时候自己再修改下。

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

Python3-Selenium自动化测试框架之xpath元素定位

利用Xpath和jQuery进行元素定位示例

使用Selenium必会之技能,xpath 定位元素

基于python实现UI自动化3.0 selenium - webdriver常见8大元素定位

XP定位(APP元素定位)

Xpath定位_1:子找父以及contains的用法