一、介绍
selenium基于Web端UI自动化测试,所以需要定位到页面的某一个元素,从而进行相关操作,如点击,移动,输入文字等。下面介绍定位元素常用的几种方法。
二、定位元素
1、根据元素ID属性进行定位
ele = driver.find_element_by_id('kw')
备注:通过id定位的元素唯一并且只有一个
2、根据元素class属性进行定位
ele = driver.find_element_by_class_name("s_ipt")
备注:由于class属性不唯一,一个页面可能存在多个元素的class值为s_ipt,此方法只能定位到最前面的一个;如果class属性值有多个,只需要写一个即可
3、根据元素的name属性进行定位
ele = driver.find_element_by_name("wd")
4、根据链接内容进行定位
ele = driver.find_element_by_link_text('新闻')
备注:只使用a标签包裹的内容,其他标签内容无效
5、根据部分链接内容进行定位
ele = driver.find_element_by_partial_link_text('新')
备注:与上一个类似,但是这个用于链接文字比较长的部分文字定位
6、根据tag进行定位
ele = driver.find_element_by_tag_name('div')
备注:此定位用的比较少,因为一个页面上一般都会有超多多个相同的tag元素
7、根据xpath进行定位
ele = driver.find_element_by_xpath('//*[@id="kw"]')
备注:xpath定位基于DOM,具体规则可以百度,最简单的Chrome可以右击Copy->copy xpath
8、其他
还有一些其他定位方法,自己实际当中用的比较少,这里不进行说明。
如果想定位一组元素,使用find_elements_by_class_name('btn'),其他类似。