一、选择界面元素
根据元素的特征选择:ID,Name,Class,TagName,link_text
根据元素的特征和关系:css,xpath
二、如何选择界面元素
1、存在ID属性的元素,可通过 id 属性定位,只返回匹配到的第一个元素,如果找不到就报错,如下图可通过ID属性来定位用户名输入框:
inpUser = driver.find_element_by_id("userName")
2、通过 name 属性定位,只返回匹配到的第一个元素,如果找不到就报错,比如百度首页的“更多”选项,可通过name属性来定位 txtEle = driver.find_element_by_name("tj_briicon")
3、根据 class 属性定位,只返回匹配到的第一个元素,如果找不到就报错,比如百度首页的“百度一下”按钮,可通过class属性来定位
txtEle = driver.find_element_by_class_name("btn self-btn bg s_btn")
4、根据 tag_name 定位,只返回匹配到的第一个元素,如果找不到就报错,比如百度首页logo图标:
txtEle = driver.find_element_by_tag_name("img")
5、根据链接文本搜索,分为精准匹配和模糊匹配,以匹配下图“hao123”选项为例,
(1)根据链接文本定位--精准搜索,只返回匹配到的第一个元素,如果找不到就报错,如下:
driver.find_element_by_link_text("https://www.hao123.com").click()
(2)根据链接文本定位--模糊搜索,只返回匹配到的第一个元素,如果找不到就报错,driver.find_element_by_partial_link_text( "https://www.hao123.com").click()
6、根据 xpath 定位,只返回匹配到的第一个元素,如果找不到就报错,以“百度一下”按钮为例:
获取xpath方法:选中样式右击复制xpath或者自己写xpath
driver.find_element_by_xpath("//*[@id="su"]").click()
7、根据 css定位,只返回匹配到的第一个元素,如果找不到就报错,以“百度一下”按钮为例:
获取测试时方法:选中样式右击复制selector或者自己写css
driver.find_element_by_css_selector("#su").click()
以上为使用selenium进行UI自动化测试常用的7种定位方法;