ActionChains类(鼠标操作)常用于模拟鼠标的行为,比如单击、双击、拖拽等行为。
一些常用的模拟鼠标的操作方法有:
click(on_element=None) --- 鼠标单击
double_click(on_element=None) --- 双击
context_click(on_element=None) --- 右击
click_and_hold(on_element=None) --- 鼠标单击并且按住不放
drag_and_drop(source,target) --- 拖拽
drag_and_drop_by_offset(source,xoffset,yoffset) --- 将目标拖动到指定的位置
key_down(value,element=None) --- 按下某个键盘上的键
key_up(value,element=None) --- 松开某个键
move_by_offset(xoffset,yoffset) --- 鼠标从当前位置移动到某个坐标
move_to_element(to_element) --- 鼠标移动到某个元素
move_to_element_with_offset(to_element,xoffset,yoffset) --- 移动到距某个元素(左上角坐标)多少距离的位置
perform() --- 执行链中的所有动作
release(on_element=None) --- 在某个元素位置松开鼠标左键
下面看一些例子:
单击、双击、右击 ----- 实例
拖拽 ------ 实例
按键 --- 实例 这里是用ActionChains类提供的几个模拟按键的方法
鼠标移动 ----- 实例
-----------------------------------------------------------------------------------------------------------------------------------------
Keys类(键盘操作):
selenium提供了一整套的模拟键盘操作事件,需要先导入键盘模块 from selenium.webdriver.common.keys import Keys
* 模拟按键有多种方法,能用win32api来实现,能用SendKeys来实现,也可以用selenium的WebElement对象的send_keys方法来实现。
* 模拟ENTER键,可以用send_keys(Keys.ENTER)
* CONTROL可以和其他键组合,实现复制、粘贴、剪切等功能
* SPACE可用来选中check box或者radio button
常用的键盘操作方法有:
① send_keys(Keys.CONTROL,'c') 复制
② send_keys(Keys.CONTROL,'v') 粘贴
③ send_keys(Keys.CONTROL,'a') 全选
④ send_keys(Keys.CONTROL,'x') 剪切
⑤ send_keys(Keys.F1') 键盘F1到F12
如下为简单例子实现: