八大定位UI
元素定位的目标:找到要操作的元素(唯一),然后进行操作。一定要找到唯一的元素,如果找到多个,就考
虑换一个定位方法。 8大元素定位:分为2大类
代码里查找元素的方法: driver.find_element()
一、第一大分类(6种)
1、id属性:优先选择Id,id是唯一的
driver.find_element(By.ID,“kw”).send_keys(“大学”)
2、class属性:样式,颜色,宽高,大小,可以修改,确保class的属性值是唯一的才能用
driver.find_element(By.CLASS_NAME,“kw”).send_keys(“大学”) # 单一的class值,可以直接定位【百度输入框】
driver.find_element(By.CLASS_NAME,“kw”).click() # 多个的class值,可以直接定位【登录】
3、name属性
driver.find_element(By.NAME,“kw”).send_keys(“大学”)
4、 tag_name属性:标签名,有多个重复的标签名,会默认找到第一个标签名,基本上不用,因为会有很多个
5、link_text:a元素的文本内容完全匹配:
a标签是一个超链接元素,超链接元素有属性target = “_blank”,超链接打开一个新的窗口,否则就是在原窗口上打开新页面
driver.find_element(By.LINK_TEXT,‘新闻’).click()
6、partial_link_text:a元素的文本内容部分分配,当文本内容非常长的时候用部分匹配
driver.find_element(By.PARTIAL_LINK_TEXT,‘闻’). click()
二、第二大类:组合元素的特征以及关系定位,万能定位。
1、xpath定位(相对):万能
2、css selector:有弊端,不能支持文本定位,但是xpath可以。而且只支持web页面,app不支持。所以,不如xpath用的多。
css选择器定位–扩展
1、根据标签名定位 :它的问题是不唯一,一般页面中会有很多