Python Selenium 键盘鼠标事件操作

分享知识  传递快乐

 

鼠标操作

在现实的自动化测试中关于鼠标的操作不仅仅是 click() 单击操作,还有很多包含在 ActionChains 类中的操作。如下:

context_click(elem) # 右击鼠标点击元素elem,另存为等行为
double_click(elem) # 双击鼠标点击元素elem,地图web可实现放大功能
drag_and_drop(source,target) # 拖动鼠标,源元素按下左键移动至目标元素释放
move_to_element(elem) # 鼠标移动到一个元素上
click_and_hold(elem) # 按下鼠标左键在一个元素上
perform() # 在通过调用该函数执行ActionChains中存储行为

代码1:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
 
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
 
# 鼠标移动至图片上右键保存图片
elem_pic = driver.find_element_by_xpath("//div[@id='lg']/img")
print elem_pic.get_attribute("src")
action = ActionChains(driver).move_to_element(elem_pic)
action.context_click(elem_pic)
 
# 当右键鼠标点击键盘光标向下则移动至右键菜单第一个选项
action.send_keys(Keys.ARROW_DOWN)
time.sleep(3)
action.send_keys('v') #另存为
action.perform()

 

键盘操作

在 webdriver 的 keys 类中提供了键盘所有的按键操作,如:

send_keys(Keys.ENTER) # 按下回车键
send_keys(Keys.TAB) # 按下Tab制表键
send_keys(Keys.SPACE) # 按下空格键space
send_keys(Kyes.ESCAPE) # 按下回退键Esc
send_keys(Keys.BACK_SPACE) # 按下删除键BackSpace
send_keys(Keys.SHIFT) # 按下shift键
send_keys(Keys.CONTROL) # 按下Ctrl键
send_keys(Keys.ARROW_DOWN) # 按下鼠标光标向下按键
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

代码2:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
 
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
 
# 输入框输入内容
elem = driver.find_element_by_id("kw")
elem.send_keys("CSDN")
time.sleep(3)
 
# 删除一个字符 CSDN 回退键
elem.send_keys(Keys.BACK_SPACE)
elem.send_keys(Keys.BACK_SPACE)
elem.send_keys(Keys.BACK_SPACE)
elem.send_keys(Keys.BACK_SPACE)
time.sleep(3)
 
# 输入空格+"博客"
elem.send_keys(Keys.SPACE)
elem.send_keys(u"博客")
time.sleep(3)
 
# ctrl+a 全选输入框内容
elem.send_keys(Keys.CONTROL,'a')
time.sleep(3)
 
# ctrl+x 剪切输入框内容
elem.send_keys(Keys.CONTROL,'x')
time.sleep(3)
 
# 输入框重新输入搜索
elem.send_keys(Keys.CONTROL,'v')
time.sleep(3)
 
# 通过回车键替代点击操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)
time.sleep(3)

 

 

 

 

 

 

 

—————————
如有不足请留言指正
相互学习,共同进步

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章