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内容 |
|
|
| contain(@属性/text(),value) | 包含函数 | contains(@class, "xxx"), contains(text(), "xxxx") | |
|
and or |
表示条件与 表示条件或 |
|

浙公网安备 33010602011771号