一般来说我们与页面的交互可以使用Webelement
的方法来进行点击等操作。
但是,有时候我们需要一些更复杂的动作,类似于拖动,双击,长按等等。
这时候就需要用到我们的Action Chains
(动作链)了。
简例
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()时,这些动作才会依次开始执行。
常用动作方法
-
send_keys
(*keys_to_send)将键发送到当前聚焦的元素。
-
send_keys_to_element
(element, *keys_to_send)将键发送到指定的元素。
-
reset_actions
()清除已经存储的动作。