在 WebDriver 中,与鼠标操作相关的方法都封装在ActionChains 类中,与键盘操作相关的方法都封装在Keys类中。下面介绍下这两个类中的常用方法。

鼠标操作

ActionChains类鼠标操作常用方法:

  • context_click():右击
  • double_click():双击
  • drag_and_drop():拖动
  • move_to_element():鼠标悬停
  • perform():执行ActionChains类中存储的所有行为
# 鼠标悬停示例(鼠标悬停在百度首页的“设置”)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from time import sleepdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
sleep(3)
# 定位需要悬停的元素
setting = driver.find_element(By.ID,"s-usersetting-top")
# 对元素进行悬停操作
ActionChains(driver).move_to_element(setting).perform()
sleep(3)driver.quit()
# 鼠标双击示例(对输入框的内容进行双击)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from time import sleepdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
sleep(3)search = driver.find_element(By.ID,"kw")
search.send_keys("双击")sleep(1)
# 对元素进行双击操作(双击后可以看到输入的内容会被选中)
ActionChains(driver).double_click(search).perform()
sleep(3)driver.quit()

其余的方法就不再赘述,可以自己尝试使用。

键盘操作

Keys类中常用的键盘操作:

  • send_keys(Keys.BACK_SPACE):删除键(BackSpace)
  • send_keys(Keys.SPACE):空格键(Space)
  • send_keys(Keys.TAB):制表键(Tab)
  • send_keys(Keys.ESCAPE):回退键(Esc)
  • send_keys(Keys.ENTER):回车键(Enter)
  • send_keys(Keys.CONTROL,‘a’):全选(Ctrl+a)
  • send_keys(Keys.CONTROL,‘c’):复制(Ctrl+c)
  • send_keys(Keys.CONTROL,‘x’):剪切(Ctrl+x)
  • send_keys(Keys.CONTROL,‘v’):粘贴(Ctrl+v)
  • send_keys(Keys.F1):键盘F1
    ……
  • send_keys(Keys.F12):键盘F12
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from time import sleepdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")driver.find_element(By.ID,"kw").send_keys("ChatGPT")# 删除键(backspace)
driver.find_element(By.ID,"kw").send_keys(Keys.BACK_SPACE)driver.find_element(By.ID,"kw").send_keys(Keys.SPACE)
driver.find_element(By.ID,"kw").send_keys("教程")
sleep(1)
# 组合键 Ctrl+a,全选输入框内容
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'a')
sleep(1)
# 组合键 Ctrl+x,剪切输入框内容
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'x')
sleep(1)
# 组合键 Ctrl+v,粘贴内容到输入框
driver.find_element(By.ID,"kw").send_keys(Keys.CONTROL,'v')
sleep(1)
# 按下回车键
driver.find_element(By.ID,"kw").send_keys(Keys.ENTER)sleep(2)driver.quit()

键盘输入示例大致如上,实际上以上代码没有实际的意义,对于实际的操作还是要结合项目中的需求来适当运用。

以上就是本期文章的所有内容,感谢观看,如果对您有帮助请点赞关注+收藏,一键三连,多谢支持!

【Selenium自动化测试】鼠标与键盘操作相关推荐

  1. Selenium之鼠标和键盘操作及扩展

    概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作. ...

  2. selenium模拟鼠标和键盘操作的基本方法

    前言 前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是 ...

  3. 从零开始编写Web自动化测试脚本(六)--鼠标、键盘操作

    第一章 Selenium+WebDriver环境搭建 第二章 Selenium定位方式 第三章 元素常用属性 第四章 自动化中的三种等待 第五章 自动化浏览器设置及句柄.窗口切换操作 第六章 鼠标.键 ...

  4. python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作

    这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要 ...

  5. 通过python里面的pyautogui自动化控制鼠标和键盘操作

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...

  6. 控制台模拟鼠标、键盘操作

    控制台模拟鼠标.键盘操作 模拟鼠标.键盘操作,能让命令行顿然强大,想想,制作批处理版屏幕键盘等都不在话下(已制作过,效果很不错).虽然这也跟CUI无关.本教程教会你如何让命令行模拟鼠标.键盘的操作. ...

  7. pyautogui自动化控制鼠标和键盘操作

    pyautogui自动化控制鼠标和键盘操作 安装 pyautogui鼠标操作样例 pyautogui键盘操作样例 按键支持 提示信息 alert option password prompt 截屏 整 ...

  8. python实现自动按键_Python使用pyautogui模块实现自动化鼠标和键盘操作示例

    本文实例讲述了Python使用pyautogui模块实现自动化鼠标和键盘操作.分享给大家供大家参考,具体如下: 一.pyautogui模块简要说明 ## 使用 pyautogui 模块相关函数,可以模 ...

  9. python反恐精英基础版_cs客户端自动化控制鼠标和键盘操作,python+pyautogui

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...

  10. PyAutoGUI 自动控制鼠标和键盘操作(三个小案例)

    PyAutoGUI 安装 用pip直接安装,可能错误不断,基本都是版本的问题,我是这样安装的,可以尝试一下,能不能成功 pip install -i https://pypi.doubanio.com ...

最新文章

  1. Clojure语法学习-循环
  2. python相关软件安装
  3. HTTP简介,http是一个属于应用层的面向对象的协议
  4. 江苏省计算机一级题库软件百度云,江苏省计算机一级B题库11
  5. Character,String相关方法,Int,double互相转换
  6. node mysql 搭建博客_node.js+Hexo+Git搭建个人博客
  7. 数值分析方阵的QR分解
  8. 支持MySql的数据库自动分表工具DBShardTools发布
  9. Luogu P1967 货车运输 倍增+最大生成树
  10. UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x80 in position 2
  11. 复杂的三元转化为if() eles()
  12. 计算机更新过后cad,CAD2022更新了什么?具有哪些新功能?
  13. 《硬核父母的五项修炼》读后感
  14. 【kimol君的无聊小发明】—用python写视频下载器
  15. 3d建模沟通能力,技术能力,更容易往主管,经理等管理方向发展
  16. [响应式布局]响应式布局技巧
  17. 超简单!H5项目套APP外壳
  18. 算法设计与分析: 4-15 套汇问题
  19. JAVAEE千锋教育第一天学习总结(2022年7月11日)
  20. 10分钟让你了解应用宝APP上架流程

热门文章

  1. Blender 基础操作
  2. Q2海外收入首次过半 欢聚借Bigo能否再造一个“虎牙”?
  3. 利用网线在两台电脑之间传输文件
  4. 金斧子银斧子和铁斧子
  5. 360浏览器中页面打开如何默认极速模式
  6. Android App耗电分析
  7. 使用EasyExcel完成导出导入功能
  8. CAD自学笔记21条,零基础学CAD可以看看
  9. MATLAB长除法求z变换逆变换
  10. 头条/抖音小程序内容安全检测(违规词过滤)