前言:在实际场景中,会有单击、长时间单击、双击、右键、拖拽等鼠标操作,selenium提供了名为ActionChains的类来处理这些操作。
一、ActionChains类的引入
在使用鼠标操作前,需要引入ActionChains,如下:
from selenium.webdriver.common.action_chains import ActionChains
二、ActionChains类的方法列表
以下是ActionChains类的方法,总的来说有三类:点击、拖拽、移动。值得注意的是,所有的操作都需要通过perform()来执行,所以要想操作正常执行,不要忘记添加perform方法。
click(on_element=None) #单击鼠标左键
click_and_hold(on_element=None) #点击鼠标左键,按住不放
context_click(on_element=None) #点击鼠标右键
double_click(on_element=None) #双击鼠标左键
drag_and_drop(source, target) #拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) #拖拽到某个坐标然后松开
move_by_offset(xoffset, yoffset) #鼠标移动到距离当前位置(x,y)
move_to_element(to_element) #鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) #将鼠标移动到距某个元素多少距离的位置
release(on_element=None) #在某个元素位置松开鼠标左键
perform() #执行链中的所有动作
三、点击、拖拽、移动的实现
注:采用unittest框架,其中引用的Key是对操作工具的封装,具体封装代码不在此展示

