对浏览器的控制,通过webdriver对象
对网页内容(元素)的控制,通过webElement对象
元素定位,实际上就是通过webdriver,获取webElement的过程
selenium提供了8个定位策略
1.什么是元素
元素:由标签头 + 标签尾 + 标签头和标签尾包括的文本内容;
元素的信息就是指元素的标签名及元素的属性;
元素的层级结构就是指元素之间相互嵌套的层级结构;
元素定位最终就是通过元素的信息或者元素的层级结构来进行元素定位;
2.元素定位的意义
- 计算机没有智能到人的程度。
- 计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入
- 计算机通过一系列计数手段找到元素(按钮、输入框、模拟键盘等)
3.查看元素信息
在谷歌浏览器中,选中元素,右键点击“检查”,即可在“Elements"中查看元素信息。
以百度首页搜索框为例,查看元素信息如下图所示:
4.元素定位的工具或手段有哪些?
webdriver 提供了一系列的对象定位方法,常用的有以下8种:
定位一个元素 | 定位多个元素 | 含义 |
---|---|---|
find_element_by_id | find_elements_by_id | 通过元素id定位 |
find_element_by_name | find_elements_by_name | 通过元素name定位 |
find_element_by_xpath | find_elements_by_xpath | 通过xpath表达式定位 |
find_element_by_link_text | find_elements_by_link_text | 通过完整超链接定位 |
find_element_by_partial_link_text | find_elements_by_partial_link_text | 通过部分链接定位 |
find_element_by_tag_name | find_elements_by_tag_name | 通过标签定位 |
find_element_by_class_name | find_elements_by_class_name | 通过类名进行定位 |
find_element_by_css_selector | find_elements_by_css_selector | 通过css选择器进行定位 |