selenium实战之模拟事件处理

selenium实战之模拟事件处理

一、自动化测试实战之 ActionChains 模拟用户行为

  1. 需求
  • 需要模拟鼠标操作才能进行的情况,比如鼠标单击、双击、鼠标右键,鼠标拖拽等
  1. 解决
  • selenium提供一个类来处理这类事件
selenium.webdriver.common.action_chains.ActionChains(driver)

需要导入ActionChains包
from selenium.webdriver.common.action_chains import ActionChains
  1. 执行原理
  • 调用 ActionChains 的方法时不会立即执行,会所有的操作按顺序存放到一个队列里,当调用perform()方法时,队列中的事件会依次执行
  1. 支持链式写法或者分布写法
  • ActionChains(driver).click(ele).perform()
  1. 鼠标和键盘方法列表
方法 作用
perform() 执行链中的所有动作
click(on_element=None) 单击鼠标左键
context_click(on_element=None) 点击鼠标右键
double_click(on_element=None) 双击鼠标左键
move_to_element(to_element) 鼠标移动到某个元素
ele.send_keys(keys_to_send) 发送某个词到当前焦点的元素
click_and_hold(on_element=None) 点击鼠标左键,不松开
release(on_element=None) 在某个元素位置松开鼠标
key_down(value, element=None) 按下键盘上某个键
key_up(value, element=None) 松开某个键

二、鼠标实战之(hover)菜单栏弹出

  1. 导入 ActionChains
from selenium.wedriver.common.acton_chains import ActionChains
  1. ele1 = move_to_element(to_element) 鼠标移动到某个元素
  • 对定位到的元素执行鼠标移动到上面的操作
ActionChains(driver).move_to_element(ele1).perform()
posted @ 2021-05-12 16:00  廿九九  阅读(161)  评论(0)    收藏  举报