上一节讲到了Selenium的基本概念,安装配置,并展示了自动化使用百度搜索的案例,在案例中我们通过id定位到了搜索框元素,那么在这一节就详细的介绍一下Selenium定位元素的各种方法
认识页面元素
页面中的各种按钮,输入框,多选框等都属于页面的元素,Selenium通过各种方法定位到你想操作的元素,并且对其进行操作,例如红框框住的都是该页面的元素。
找到页面元素
首先在想要操作的页面,按F12打开浏览器的开发者工具,在Elements(要素)标签页内通过移动鼠标,即可找到你想要操作的元素对应的css
定位页面元素
现在我们在前端页面找到了元素对应的位置,例如百度的输入框对应的
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
接下来我们可以选择合适的方法,用Selenium来定位该元素并且操作
1、id定位
有些元素的标签内含有 id 参数,而id具有唯一性,所以我们可以直接通过id定位到元素,例如百度的是 id = "kw"
driver.find_element_by_id("kw")
2、name定位
大部分元素的标签是含有name参数的,但是name并不是唯一的,所以一般不推荐使用name来定位,例如百度的是 name = "wd"
driver.find_element_by_name("wd")
3、class定位
大部分元素的标签是含有class参数的,但是class并不是唯一的,所以一般不推荐使用class来定位,例如百度的是 class= "s_ipt"
driver.find_element_by_class_name("s_ipt")
4、xpath定位
推荐使用,是一种在xml文档中定位元素的语言。有一种方便的方法可以快速找到元素的xpath
driver.find_element_by_xpath("//*[@id="kw"]")
5、css定位
使用选择器未页面元素绑定属性,一般速度比xpath快。
同xpath一样,我们可以在开发者工具中快速复制元素对应的css
driver.find_element_by_css_selector("#kw")
能够成功定位到元素,接下来就可以对元素进行操作了,例如点击,输入文本,选择下拉框选项等,后面将详细介绍各类操作方法