元素操作&浏览器操作&获取元素信息&键鼠操作方法
1 元素操作方法
通过元素操作模拟用户进行数入或删除元素内容,模拟点击操作等。
element = driver.find_element(By.ID,“id名”)
(1) 点击:element.click()
(2) 输入内容:element.send_keys(输入内容)
(3) 清除文本:element.clear()
2 浏览器操作方法
(1)最大化窗口:driver.maximize_window()
模拟点击浏览器最大化按钮。
(2)设置浏览器窗口大小:driver.set_window_size()
设置浏览器宽和高(像素)
(3)设置浏览器窗口位置:driver.set_window_position()
(4)后退:driver.back()
模拟点击浏览器后退按钮
(5)前进:driver.forward()
模拟点击浏览器前进按钮
(6)刷新:driver.refresh()
模拟点击浏览器刷新按钮
(7)关闭当前窗口:driver.close()
模拟点击浏览器关闭按钮
(8)关闭浏览器驱动对象:driver.quit()
关闭所有程序启动的窗口
(9)获取页面title:driver.title
(10)获取当前页面URL:driver.current_url
3 获取元素信息方法
通过学习Selenium封装的获取元素信息的方法,了解如何获取元素的文本和属性值,了解如何让程序判断元素是否为可见状态等。
element = driver.find_element(By.ID,“id名”)
(1)返回元素大小:element.size
(2)获取元素文本:element.text
(3)获取属性值:element.get_attribute(“元素的属性名”)
(4)判断元素是否可见:element.is_displayed()
(5)判断元素是否可用:element.is_enabled()
(6)判断元素是否选中(用来检查复选框或单选按钮是否选中):element.is_selected()
4 键鼠操作
4.1 鼠标操作方法
常见的鼠标操作有: 点击、 右击、 双击、 悬停、 拖拽等,在Selenium中将操作鼠标的方法封装在ActionChains类中。在ActionChains类中所有提供的鼠标事件方法,在调用的时候所有的行为都存储在ActionChains对象中,
在使用鼠标方法前,step1: 需先导入ActionChains包: from selenium.webdriver.common.action_chains import ActionChains
step2: 需实例化ActionChains对象:action = ActionChains(driver)
step3: 使用action对象调用对应的鼠标操作方法(如双击、右键等)
-
(1)鼠标右键:action.context_click(element)
-
(2)鼠标双击: action.double_click(element)
-
(3)鼠标拖拽:action.drag_and_drop(源元素,目标元素),将源元素释放到目标元素
- 源元素:source = driver.find_element(By.ID,“id名”)
- 目标元素:target = driver.find_element(By.ID,“id名”)
- 拖拽:action.drag_and_drop(source,target).perform()
-
(4)鼠标悬停:action.move_to_element(element),模拟鼠标悬停在指定的的元素上
step4: 调用perform()方法执行鼠标事件: action.perform() 或者 在使用action调用双击、拖拽等方法后.perform(),如:action.context_click(element).perform()
* 必须调用perform()方法才能执行鼠标事件
4.2 键盘操作方法
Selenium中把键盘的按键都封装在Keys类中,在进行键盘操作前,需先导入Keys包:
from selenium.webdriver.common.keys import Keys
(1)删除键(BackSpace):element.send_keys(Keys.BACK_SPACE)
(2)空格键(Space):element.send_keys(Keys.SPACE)
(3)制表键(Tab):element.send_keys(Keys.TAB)
(4)回退键(Esc):element.send_keys(Keys.ESCAPE)
(5)回车键(Enter): element.send_keys(Keys.ENTER)
(6)全选(Ctrl+A):
win系统:element.send_keys(Keys.CONTROL,‘a’)
Mac系统:element.send_keys(Keys.COMMAND,‘a’)
(7)复制(Ctrl+C):
win系统:element.send_keys(Keys.CONTROL,‘c’)
Mac系统:element.send_keys(Keys.COMMAND,‘c’)
(8)粘贴(Ctrl+V):
win系统:element.send_keys(Keys.CONTROL,‘v’)
Mac系统:element.send_keys(Keys.COMMANDL,‘v’)