常用的操作事件(右键点击,页面滑动,表单操作等)
Actions
Actions:执行 PC 端的鼠标点击、双击、右键、拖拽等事件
TouchActions:模拟 PC 和移动端的点击、滑动、拖拽、多点触控等多种手势操作。
Acitons 方法列表
Actions 类是 Selenium 对鼠标、键盘操作的。
常用的操作包括:
click——单击鼠标左键
click_and_hold——点击鼠标左键,不松开
context_click——点击鼠标右键
double_click——双击鼠标左键
drag_and_drop——拖拽到某个元素到目标位置后松开
drag_and_drop_by_offset——拖拽到某个坐标然后松开
move_by_offset——鼠标从当前位置移动到某个坐标
move_to_element——鼠标移动到某个元素
move_to_element_with_offset——移动到距某个元素(左上角坐标)多少距离的位置
perform()——执行链中的所有动作
releas——在某个元素位置松开鼠标左键
send_keys——发送某个键到当前焦点的元素
key_down——按下某个键盘上的键
key_up——松开某个键
动作链接Actions
- 执行原理:
- 调用 Acitons 的方法时,不会立即执行,而是将所有的操作,按顺序存放在一个队列里,当你调用 perform() 方法时,队列中的事件会依次执行
- 基本用法
- 生成一个动作 Actions actions = new Actions(driver)
- 动作添加方法1 actions.方法1
- 动作添加方法2 actions.方法2
- 调用 perform() 方法执行 acitons.perform()
- 具体写法
- 链式写法
Actions actions = new Actions(driver).moveToElement(ele).click().perform(ele);
- 分步写法
Actions actions = new Actions(driver); actions.move_to_element(element); actions.click(element); actions.perform();
- 链式写法
Actions 用法1
- 用法一:点击,右键,双击操作
Actions actions = new Actions(driver); actions.click(element); actions.double_click(element); actions.context_click(element); actions.perform();
Actions 用法2
- 用法二:鼠标移动到某个元素上
Actions actions = new Actions(driver); actions.move_to_element(element); actions.perform();
Actions 用法3
- 用法三:将一个元素拖拽到另一个元素的位置上
Actions actions = new Actions(driver); actions.drag_and_hold(element_start,element_end).perform() 或者 actions.click_and_hold(element_start).move_to_element(element_end).release().perform();
Actions 用法4
- 用法四:Actions 模拟按键方法
- 模拟按键有多种方法,能用 win32api 来实现,能用 SendKeys 来实现,也可用 selenium 的 WebElement 对象的 send_keys() 方法来实现,这里 Actions 类也提供了几个模拟按键的方法。
- 用法:
Actions actions = Actions(driver); actions.send_keys(Keys.BACK_SPACE); 或者 actions.key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL); actions.perform();