1. 簡例
from selenium.webdriver import ActionChains
element = driver.find_element_by_name("source")
target = driver.find_element_by_name("target")
actions = ActionChains(driver)
actions.drag_and_drop(element, target)
actions.perform()
在導入動作鏈模塊以後,需要聲明一個動作鏈對象,在聲明時將webdriver當作參數傳入,並將對象賦值給一個actions變量。
然後我們通過這個actions變量,調用其內部附帶的各種動作方法進行操作。
注:在調用各種動作方法後,這些方法並不會馬上執行,而是會按你代碼的順序存儲在ActionChains對象的隊列中。當你調用perform()時,這些動作纔會依次開始執行。
常用動作方法
-
click
(on_element=None)左鍵單擊傳入的元素,如果不傳入的話,點擊鼠標當前位置。
-
context_click
(on_element=None)右鍵單擊。
-
double_click
(on_element=None)雙擊。
-
click_and_hold
(on_element=None)點擊並抓起
-
drag_and_drop
(source, target)在source元素上點擊抓起,移動到target元素上鬆開放下。
-
drag_and_drop_by_offset
(source, xoffset, yoffset)在source元素上點擊抓起,移動到相對於source元素偏移xoffset和yoffset的座標位置放下。
-
send_keys
(*keys_to_send)將鍵發送到當前聚焦的元素。
-
send_keys_to_element
(element, *keys_to_send)將鍵發送到指定的元素。
-
reset_actions
()清除已經存儲的動作。