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("新闻")

 

posted @ 2019-06-28 06:00  隐泉  阅读(1558)  评论(0编辑  收藏  举报