• UI自动化测试-web浏览器-鼠标和键盘操作


    1.鼠标操作

    步骤:
    ① 导包 ActionChains类
    ② 实例化鼠标对象 action=ActionChains(driver) driver表示的是浏览器驱动对象。
    ③ 调用鼠标的事件方法 (右击、双击、拖动、悬停)
    ④ 执行鼠标事件 action.perform()

    1.1鼠标右击操作

    实现步骤:
    1)导包 ActionChains类
    from selenium.webdriver import ActionChains
    2)实例化鼠标对象 action=ActionChains(driver) driver表示的是浏览器驱动对象
    3)action.context_click(element) element表示的是元素对象
    4)执行鼠标事件 action.perform()
    在这里插入图片描述

    1.2鼠标双击操作

    实现步骤:
    1)导包 ActionChains类
    2)实例化鼠标对象 action=ActionChains(driver) driver表示的是浏览器驱动对象
    3)action.double_click(element) # element表示的是元素对象
    4)执行鼠标事件方法 action.perform()
    在这里插入图片描述

    1.3鼠标拖动操作

    实现步骤:
    1)导包 ActionChains类
    2)实例化鼠标对象 action=ActionChains(driver) driver表示的是浏览器驱动对象
    3)action.drag_and_drop(source, target) # source 表示的是源目标元素 target表示的是目的元素
    4)执行鼠标事件方法 action.perform()
    在这里插入图片描述

    1.4鼠标悬停操作(常用)

    实现步骤:
    1)导包 ActionChains类
    2)实例化鼠标对象 action=ActionChains(driver) driver表示的是浏览器驱动对象
    3)action.move_to_element(element) # element表示悬停的元素对象
    4)执行鼠标事件方法 action.perform()
    在这里插入图片描述
    在这里插入图片描述

    1.5鼠标单元素拖动操作

    应用场景:验证码滑动操作
    步骤:
    1)导包 ActionChains类
    2)实例化鼠标对象 action=ActionChains(driver) driver表示的是浏览器驱动对象
    3)action.drag_and_drop_by_offset(element, offx, offy)
    4)#element表示的是一个元素对象。offx表示的是横向的移动距离,offy表示是纵向的移动距离。单位为像素。 建议在实际的移动距离上+5即可。
    5)执行鼠标事件方法 action.perform()
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    2.键盘操作

    实现方式:
    1)导包:
    from selenium.webdriver.common.keys import Keys
    2)语法:send_keys(Keys.CONTROL)
    单键值快捷键:send_keys(Keys.CONTROL)
    组合键: send_keys(Keys.CONTROL, ‘a’)
    常用快捷键:

    1. send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
    2. send_keys(Keys.SPACE) 空格键(Space)
    3. send_keys(Keys.TAB) 制表键(Tab)
    4. send_keys(Keys.ESCAPE) 回退键(Esc)
    5. send_keys(Keys.ENTER) 回车键(Enter)
    6. send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
    7. send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)
    8. send_keys(Keys.CONTROL, ‘v’) 粘贴(Ctrl+V)
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 相关阅读:
    垂直分表、分布式Id详细介绍、模板引擎FreeMarker、对象存储服务MinIO(黑马头条Day02)
    3D游戏开发中的矩阵详解
    77 # koa 中间件的应用
    如何找到能商用的背景纯音乐
    《HTML+CSS+JavaScript》之第9章 表单
    边缘计算技术
    Spring Data Commons远程命令执行漏洞复现(CVE-2018-1273)
    键盘上F1至F12键的作用
    【深度学习-注意力机制attention 在seq2seq中应用】
    OUT了吧,Kafka能实现消息延时了
  • 原文地址:https://blog.csdn.net/MARKDD915/article/details/126589158