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)

 

 

 

 

 

 

 

—————————
如有不足請留言指正
相互學習,共同進步

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