元素定位方式

## web自动化测试核心内容
- 元素定位
- 网页操作
- 等待
- pytest + selenium
- 项目实战

自动化去查找元素的方法:
- 1、网页的页面结构(selenium)
- 2、坐标
- 3、图像识别

## 什么是页面结构
由各种各样的网页标签构成,形成很复杂的树形结构
标签名、属性、text文本

面试题:find_element和find_elements的区别
find_element 如果查找到多个元素,只会返回第一个。
如果没有找到,就会报错。
find_elements 不管找到多少个,都会存在列表当中,而且没有找到,也不会报错。

## selenium 支持的元素定位方式, 八大元素定位方式(面试题)
- id 优先用id
- name <input>
- class_name 也用的很多,
- tag_name 基本不用。
- link_text 链接文本,只能精准匹配,即a标签的全部文本
- partial_link_text 包含文本,即可模糊查询
- xpath 组合前面的六种方式
- css_selector CSS选择器


## xpath
如果通过某种方式找到了多个元素,需要进一步去删选, 加条件。
- 1、支持所有的元素属性
- 2、支持 text 文本
- 3、可以通过 标签名
- 4、 可以通过元素之间的关系
- 5、要素和要素可以进行任意形式的组合。
//*[@id="kw"]  : 相对路径xpath表达式  (面试题)
/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input 绝对路径xpath表达式

一般使用相对路径,因为绝对路径维护成本高,前端工程师如果在各层级间加了div,原来写的绝对路径就无效了


原文地址:https://www.cnblogs.com/wsfsd/p/15585262.html