下拉列表的操作
1.下拉列表是非常常见的页面元素。是一种特殊的页面元素,定位和其他元素没区
别,但是其操作不其他元素不同。
2.需要导入包
from selenium.webdriver.support.select import Select
注意:需要把元素转换为下列列表对象,才能点出下面的api
3.选择下列列表中的元素有三种方式
• select_by_index() #索引
• select_by_visible_text()#文本
• select_by_value()#value属性的值
键盘操作
• Keys()类提供了键盘上几乎所有按键的方法。
• send_keys()方法可以用来模拟键盘输入。
• 还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等。
• 在使用键盘按键方法前需要先导入 keys 类。
• from selenium.webdriver.common.keys import Keys
常用的键盘操作:
• send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
• send_keys(Keys.TAB) 制表键(Tab)(不常用)
• send_keys(Keys.ESCAPE) esc键(Esc)
• send_keys(Keys.ENTER) 回车键(Enter)
• send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
• send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
• send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)
• send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)
#案例:在百度搜索栏中,进行输入,删除,全选,剪切,粘贴功能
dr=webdriver.Firefox()
dr.get('http://www.baidu.com')
sleep(2)
e=dr.find_element_by_id('kw')
e.send_keys('软件测试')
sleep(2)
e.send_keys(Keys.CONTROL,'a')
sleep(2)
e.send_keys(Keys.CONTROL,'x')
sleep(2)
dr.get('http://www.taobao.com')
sleep(2)
e=dr.find_element_by_id('q')
e.send_keys(Keys.CONTROL,'v')
sleep(2)
dr.quit()
浏览器控制
• 浏览器窗口大小的控制
dr.set_window_size(宽,高)
dr.maximize_window():最大化显示
dr.minimize_window():最小化显示,在最小化情况下,也可以进行元素定位及操作
• 页面前进与后退
back()和forward()方法来模拟后退和前进按钮
#案例:进入淘宝,然后设置浏览器的大小为400,500,然后最大,最小,再最大,转入到百度,然后后退,再前进
dr=webdriver.Firefox()
dr.get("http://www.qq.com")
sleep(2)
dr.minimize_window()
sleep(2)
dr.maximize_window()
sleep(2)
dr.set_window_size(300,300)
sleep(2)
dr.get("http://www.taobao.com")
sleep(2)
dr.back()
sleep(2)
dr.forward()
sleep(2)
dr.quit()
• 页面刷新
driver.refresh()
• 针对浏览器窗口页面截图
get_screenshot_as_file(保存图片的位置)
• 浏览窗口的关闭和浏览器退出
使用quit()方法,其含义为退出相关的驱动程序和关闭所有窗口。
使用close()方法,关闭单个窗口,关闭最前面的窗口
多窗口处理
多窗口的意思是一个浏览器中打开了多个窗口
• 浏览器标签页的切换
• 浏览器的标签页在应用中一般称为页面句柄(handle)。
• 获取当前窗口句柄:driver.current_window_handle
• 获取浏览器所有句柄:driver.window_handles
• 切换到指定的浏览器窗口:driver.switch_to.window(handle)