操作鼠标键盘
ActionChains类其实就是对鼠标操作的扩展,比如右键、双击、按下拖动等操作
一、行为控制
perform — 执行所有准备好的Action
reset_actions — 清空所有准备好的Action
pause — 设置Action之间的动作时间间隔
二、鼠标操作
click(on_element=None):
作用:单击元素。
参数:
on_element:要单击的元素。
如果为None,则单击当前鼠标位置。
click_and_hold(on_element=None):
作用:按住元素上的鼠标左键。
参数:
on_element:鼠标按下的元素。
如果为None,则单击当前鼠标位置。
context_click(on_element=None):
作用:在元素上执行上下文单击(右键单击)。
参数:
on_element:上下文单击的元素。
如果为None,则单击当前鼠标位置。
double_click(on_element=None):
作用:双击元素。
参数:
on_element:双击的元素。
如果为None,则单击当前鼠标位置。
drag_and_drop(source, target):
作用:按住元素上的鼠标左键,然后移动到目标元素并释放鼠标按钮。
参数:
source:鼠标按下的元素。
target:要鼠标移动的元素。
drag_and_drop_by_offset(source, xoffset, yoffset):
作用:按住元素上的鼠标左键,然后移动到目标偏移并释放鼠标按钮。
参数:
source:鼠标按下的元素。
xoffset:移动到的X偏移量。
yoffset:Y偏移移动到。
key_down(value, element=None):
作用:仅发送按键,而不释放它。只能与修改键(Control,Alt和Shift)一起使用。
例如,按ctrl + c
ActionChains(driver).key_down(Keys.CONTROL).send_keys(‘c’).key_up(Keys.CONTROL).perform()
key_up(value, element=None):
作用:释放修改键
例如,按ctrl + c
ActionChains(driver).key_down(Keys.CONTROL).send_keys(‘c’).key_up(Keys.CONTROL).perform()
move_by_offset(xoffset, yoffset):
作用:将鼠标移动到当前鼠标位置的偏移量。
参数:
xoffset:要移动到的X偏移量,作为正整数或负整数。
yoffset:要移动到的Y偏移量,作为正整数或负整数。
move_to_element(to_element):
作用:将鼠标移动到元素的中间。
参数:to_element:要移动到的WebElement。
move_to_element_with_offset(to_element, xoffset, yoffset):
作用:将鼠标移动指定元素的偏移量。偏移量相对于元素的左上角。
参数:
to_element:要移动到的WebElement。
xoffset:移动到的X偏移量。
yoffset:Y偏移移动到。
pause(seconds):
作用:在几秒钟内暂停指定持续时间内的所有输入
release(on_element=None):
作用:释放元素上的鼠标按钮。
参数:
on_element:鼠标移动的元素。
如果为None,则释放当前鼠标位置。
send_keys(*keys_to_send):
作用:将键发送到当前聚焦元素。
参数:
keys_to_send:修饰符键常量可以在中找到’键’类。
send_keys_to_element(element, *keys_to_send):
作用:将键发送到元素。
参数:
element:发送密钥的元素。
keys_to_send:要发送的密钥。 修饰符键常量可以在中找到’键’类
三、键盘操作
key_down --- 键盘按下
key_up --- 键盘释放
send_keys --- 向当前元素发送模拟按键
send_keys_to_element --- 向指定元素发送模拟按键