前文已经学会如何简单地使用webderiver了,这篇就交自动化测试入门必备元素定位的技巧
不管是web端使用Selenium还是app端使用Appium,只要是UI测试,就逃不掉元素定位这个技能
可以说如何定位元素,将定型一个测试人员的测试思维
本章将带大家如何用firebug插件来检查页面中的元素
此外还做了一份Chrome浏览器如何检查元素和IE浏览器如何检查元素的文档,需要的可以点击并输入暗号:CSDN获取
书接前文:【Selenium】selenium自动化入门之webdriver框架使用
appium教程:【appium】appium自动化入门之环境搭建(上)
1.2 常用 8 种元素定位(Firebug 和 firepath)
前言
元素定位在 firefox 上可以安装 Firebug 和 firepath 辅助工具进行元素定位。
1.2.1 环境准备
- 浏览器选择:Firefox
- 安装插件:Firebug 和 FirePath(设置>附加组件>搜索:输入插件名称>下载安装后重启浏览器)
- 安装完成后,页面右上角有个小爬虫图标
- 快速查看 xpath 插件:XPath Checker 这个可下载,也可以不用下载
- 插件安装完成后,点开附加组件>扩展,如下图所示
1.2.2 查看页面元素:
以百度搜索框为例,先打开百度网页
- 点右上角爬虫按钮
- 点左下角箭头
- 讲箭头移动到百度搜索输入框上,输入框高亮状态
- 下方红色区域就是单位到输入框的属性:
1.2.3 find_element_by_id()
- 从上面定位到的元素属性中,可以看到有个 id 属性:“kw”,这里可以通过它的 id 属性单位到这个元素。
- 定位到搜索框后,用 send_keys()方法, 输入文本
# coding:utf-8
from selenium import webderiver
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
# 通过id定位百度搜索框,并输入“测试”
driver.find_element_by_id("kw").send_keys("测试")
1.2.4 find_element_by_name()
- 从上面定位到的元素属性中,可以看到有个 name 属性:name=“wd”,这里可以通过它的 name 属性单位到这个元素。
- 提前说明:这里运行后会报错,因为这个搜索框的 name 属性不是唯一的,是无法通过 name 属性直接定位到输入框
# coding:utf-8
from selenium import webderiver
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
# 通过name定位百度搜索框,并输入“测试”
driver.find_element_by_name("wd").send_keys("测试")
1.2.5 find_element_by_class_name()
- 从上面定位到的元素属性中,可以看到有个 class 属性:class=“s_ipt”,这里可以通过它的 class 属性单位到这个元素。
# coding:utf-8
from selenium import webderiver
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
# 通过class定位百度搜索框,并输入“测试”
driver.find_element_by_class_name("s_ipt").send_keys(