python selenium常用操作 查找元素
1,get(url)
在当前浏览器会话中访问传入的url地址
2,close()
关闭浏览器当前页面
3,quit()
退出webdriver并关闭所有窗口(推荐)
4,refresh()
刷新当前页面
------------------注意,下面没有括号—————————
5,title
获取当前页面的标题
6,page_source
获取当前页面渲染之后的源代码
7,current_urt
获取当前页面的url
8,window_handles
获取当前会话所有窗口的句柄
====================查找元素===============================
进行web页面自动化测试,对页面上的元素进行定位和操作是核心,而操作又是以定位为前提,因此,对页面元素的定位是进行自动化测试的基础。
页面上的元素,有各种属性,比如元素名字,元素id……,webdriver就是利用元素的这些属性来进行定位的。
可以用于定位的常用的元素属性:
id,name,class name,tag name,link text,partial link text,xpath,css selector
对应于webdriver中的定位方法分别是:
driver.find_element_by_name()——常用
driver.find_element_by_id()——常用
driver.find_element_by_class_name()——常用
driver.find_element_by_tag_name()——最不靠谱
driver.find_element_by_link_text()——定位链接文字好用
driver.find_element_by_partial_link_text()——定位链接文字好用
driver.find_element_by_xpath()——灵活
driver.find_element_by_css_selector()——灵活
以上是定位一个元素的方法,相应的也有定位一组元素的方法:
driver.find_elements_*同上,就是element多加了个s
如何查看元素的属性呢?
若你使用的是chrome浏览器,按下键盘的F12,即可打开开发者工具,从中得到结果。
这么多属性可以用来定位,那么我们选择哪种呢?其实,定位元素的方法没有好坏之分,不同场景有不同的适用方法。
比如定位百度首页文本框的方法,我们可以用
id来定位: driver.find_element_by_id('kw')
XPath 来定位:driver.find_element_by_xpath("//input[@id='kw']")
CSS来定位: driver.find_element_by_css_selector('#kw')
比如,定位百度首页右上角的“新闻”:
find_element_by_link_text("新闻")