Time will tell.
Webdriver 高级应用的 API ,允许我们模拟简单到复杂的键盘和鼠标事件,如拖拽操作、快捷键组合、长按以及鼠标右键操作,都是通过使用 webdriver 的 Python API 中的ActionChains
类实现的。
调用 ActionChains
类方法时,不会立即执行,而是将所有操作都存放在一个队列里,当调用perform()
方法时,队列里的操作会依次执行。
1、键盘和鼠标事件的一些重要方法
方法 | 简单说明 |
---|---|
click(on_element=None) | 单击元素。on_element:指被点击的元素,如果该参数为none,将单击当前鼠标所在位置。 |
click_and_hold(on_element=None) | 对元素按住鼠标左键。on_element:指要按住鼠标左键的元素,如果该参数为none,将单击当前鼠标所在位置。 |
double_click(on_element=None) | 双击元素。on_element:只要双击的元素,如果该参数为none,将单击当前鼠标所在位置 |
drag_and_drop(source, target) | 鼠标拖动。Source:鼠标拖动的元素。Target:鼠标释放的目标元素。 |
key_down(value, element=None) | 按住某个键,而不释放,用于修饰键(ctrl、alt和shift)。Vakue:指要按住的键,值在Keys类中定义。element:指按键触发的目标元素,如果为none,则在当前焦点位置触发。 |
key_up(value, element=None) | 释放修饰键。Vakue:指要按住的键,值在Keys类中定义。element:指按键触发的目标元素,如果为none,则在当前焦点位置触发。 |
move_to_element(to_element) | 将鼠标移到指定元素的中央。to_element:指定元素。 |
perform() | 提交已保存的操作。 |
release(on_element=None) | 释放鼠标。on_element:被鼠标释放的元素。 |
send_keys(keys_to_send) | 对当前焦点元素的键盘操作。keys_to_send:键盘的输入值。 |
send_keys_to_element(element, keys_to_send) | 对指定元素的键盘操作。element:指定元素。keys_to_send:键盘的输入值。 |
2、键盘事件
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver