页面元素定位是selenium中的一个重要组件,也是自动化测试中一个不可或缺的部分。根据html内的标签以及标签属性来定位操作的位置,一共有以下几种,id、name、class、tag、xpath定位。
id定位
标签的id是唯一的,以百度为例,这是百度一下这个按钮的写法
能看出它的id是su ,这样我们可以使用来定位
diver.find_element(By.ID,'su')
name定位
name标签不一定唯一,如果属性中有name则可以这样进行定位
diver.find_element(By.NAME,'wd')
class定位
class是标签的类名,比如上面图片展示的中也有class属性,则可以这样进行定位
diver.find_element(By.CLASS_NAME,'s_ipt')
tag定位
tag一般用来定义一类功能,由于太多了所以不常用。比如定位div标签。
diver.find_element(By.TAG_NAME,'div')
xpath定位
这种定位方式主要是在xml文档中定位元素的语言,了解起来可能有些难度,所以给一种简单的方法,就是直接在浏览器中复制(对着想要操作的元素标签右键即可)
复制完整的xpath会是这种结果
/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[2]
复制xpath会是这种结果
//*[@id="s_btn_wr"]
diver.find_element(By.XPATH,'//*[@id="s_btn_wr"]')
中间用哪个都是一样的。