用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。而selenium给我们提供了一个类来处理这类事件——ActionChains
0 perform() ——执行链中的所有动作
1 click()——单击当前元素
2 click_and_hold()——左键按住
3 double_click()——双击
4 drag_and_drop(source,target)—— 将指定元素拖动到目标元素上
source:源元素;target:目标元素
5 drag_and_drop_by_offset(source, xoffset, yoffset)——按住鼠标左键并拖到指定位置,然后释放左键
xoffset: x轴移动距离;yoffset: y轴移动距离
6 key_down(value)——按键或者发送组合键:
示例:按ctrl+c
ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
7 key_up(value)——释放一个按键:
示例:松开ctrl+c
ActionChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
8 move_by_offset(xoffset, yoffset) ——从当前鼠标位置移动到指定位置
x,yoffset:偏移距离
9 move_to_element(to_element) ——移动到一个元素的正中位置
10 move_to_element_with_offset(to_element, xoffset, yoffset)——移动到一个目标元素的距离左上角的位置
11 send_keys(*keys_to_send) ——发送文字到指定元素
12 send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素
详细动作链API请查阅官方文档