web元素定位(一)

一、常用八大元素定位

find_element_by_XXX  只返回符合定位表达式的html页面中的第一个元素

find_elements_by_XXX  返回的是一个列表

1.id定位

driver.find_element_by_id("kw")

2.name定位

driver.find_element_by_name("wd")

3.class_nane类名定位

driver.find_elements_by_class_name("wd")

4.tag_name标签定位

driver.find_elements_by_tag_name("input")

5.link_text链接定位

driver.find_elements_by_link_text("地图")

6.parttial_link_text部分链接定位

driver.find_elements_by_parttial_link_textt("吧")

7.xpath

driver.find_element_by_xpath()

driver.find_elements_by_xpath()

8.css

二、xpath定位

1、绝对路径定位:以"\"开头,从文档的根目录开始解析。可使用浏览器工具,辅助定位

绝对定位的缺点:当页面结构调整的时候,路径也随之失效,必须重写,不方便后期维护

2.相对路径定位:以"\\"开头,从文档的任意元素节点进行解析

1)页面有没有这个元素

2)有,如何唯一定位?

实例1.通过属性定位//div[@属性=属性值]

 

实例2:如果//标签[@属性]仍然有多个元素,可考虑多个属性进行定位、可考虑层级定位,举个例子,如果input有多个时,可考虑层级定位(找父级或父级以上)

 

 

三、xpath定位和函数和逻辑

函数和逻辑 描述 举例
text() 元素的text内容
//*[@id="xxx"]//p[text()="xxxx"]
contain(@属性/text(),value) 包含函数 contains(@class, "xxx"), contains(text(), "xxxx")

and  

or

表示条件与

表示条件或


//div[@class="xxx" and contains(@style, "display:visibility")]

 

 

 

 

 

 

posted @ 2018-09-05 17:14  sinder2018  阅读(29)  评论(0)    收藏  举报