ActionChains類(鼠標操做)經常使用於模擬鼠標的行爲,好比單擊、雙擊、拖拽等行爲。web
一些經常使用的模擬鼠標的操做方法有:api
click(on_element=None) --- 鼠標單擊spa
double_click(on_element=None) --- 雙擊 3d
context_click(on_element=None) --- 右擊 orm
click_and_hold(on_element=None) --- 鼠標單擊而且按住不放對象
drag_and_drop(source,target) --- 拖拽blog
drag_and_drop_by_offset(source,xoffset,yoffset) --- 將目標拖動到指定的位置事件
key_down(value,element=None) --- 按下某個鍵盤上的鍵element
key_up(value,element=None) --- 鬆開某個鍵get
move_by_offset(xoffset,yoffset) --- 鼠標從當前位置移動到某個座標
move_to_element(to_element) --- 鼠標移動到某個元素
move_to_element_with_offset(to_element,xoffset,yoffset) --- 移動到距某個元素(左上角座標)多少距離的位置
perform() --- 執行鏈中的全部動做
release(on_element=None) --- 在某個元素位置鬆開鼠標左鍵
下面看一些例子:
單擊、雙擊、右擊 ----- 實例
拖拽 ------ 實例
按鍵 --- 實例 這裏是用ActionChains類提供的幾個模擬按鍵的方法
鼠標移動 ----- 實例
-----------------------------------------------------------------------------------------------------------------------------------------
Keys類(鍵盤操做):
selenium提供了一整套的模擬鍵盤操做事件,須要先導入鍵盤模塊 from selenium.webdriver.common.keys import Keys
* 模擬按鍵有多種方法,能用win32api來實現,能用SendKeys來實現,也能夠用selenium的WebElement對象的send_keys方法來實現。
* 模擬ENTER鍵,能夠用send_keys(Keys.ENTER)
* CONTROL能夠和其餘鍵組合,實現複製、粘貼、剪切等功能
* SPACE可用來選中check box或者radio button
經常使用的鍵盤操做方法有:
① send_keys(Keys.CONTROL,'c') 複製
② send_keys(Keys.CONTROL,'v') 粘貼
③ send_keys(Keys.CONTROL,'a') 全選
④ send_keys(Keys.CONTROL,'x') 剪切
⑤ send_keys(Keys.F1') 鍵盤F1到F12
以下爲簡單例子實現: