Selenium鼠标与键盘事件常用操作方法示例


Posted in Python onAugust 13, 2018

本文实例讲述了Selenium鼠标与键盘事件常用操作方法。分享给大家供大家参考,具体如下:

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

在之前的《Selenium元素的常用操作方法》中有讲到元素的一些常用方法,接下来记录一下元素的鼠标与键盘事件

鼠标事件

在WebDriver中,将这些关于鼠标操作的方法封装在ActionChains类提供。ActionChains类提供了鼠标操作的常用方法:

  • perform():执行所有ActionChains存储的行为
  • context_click():右击
  • double_click():双击
  • drag_and_drop():拖动
  • move_to_element():悬停

下面需要操作浏览器实现下面这样的一个操作,即使鼠标悬停:

Selenium鼠标与键盘事件常用操作方法示例

代码如下:

from selenium.webdriver import Chrome
from selenium.webdriver.common.action_chains import ActionChains
driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver.get("https://www.baidu.com/")
element = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(element).perform()

键盘事件

Keys类提供了几乎键盘上的所有按键的方法,在前面的博文中有了解到,send_keys()可以用来模拟键盘输入的操作,除此之外,我们还可以用Keys来模拟键盘上的按键,或者组合键,如Ctrl + CCtrl + V等等。

from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver.get("https://www.baidu.com/")

模拟键盘输入“python”:

driver.find_element_by_id("kw").send_keys("python.")

删除最后一个字符:

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("教程")

输入框全选:

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"a")

剪切:

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"x")

粘贴:

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"v")

回车:

driver.find_element_by_id("kw").send_keys(Keys.ENTER)

下面介绍几个常用的键盘操作:

  • Keys.BACK_SPACE:删除键
  • Keys.SPACE:空格键
  • Keys.TAB:Tab键
  • Keys.ESCAPE:回退键
  • Keys.ENTER:回车键
  • Keys.CONTROL,”a”:组合键,Ctrl + A
  • Keys.CONTROL,”x”:组合键,Ctrl + X
  • Keys.CONTROL,”v”:组合键,Ctrl + V
  • Keys.CONTROL,”c”:组合键,Ctrl + C
  • Keys.F1:F1键
  • Keys.F12:F12键

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现的简单窗口倒计时界面实例
May 05 Python
实例解析Python中的__new__特殊方法
Jun 02 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
Jun 27 Python
python分布式环境下的限流器的示例
Oct 26 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
基于python进行桶排序与基数排序的总结
May 29 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
python 发送json数据操作实例分析
Oct 15 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 Python
利用Python实现学生信息管理系统的完整实例
Dec 30 Python
Python学习之时间包使用教程详解
Mar 21 Python
python删除字符串中指定字符的方法
Aug 13 #Python
Django contenttypes 框架详解(小结)
Aug 13 #Python
Python中的Numpy矩阵操作
Aug 12 #Python
浅谈python之新式类
Aug 12 #Python
详解Django中类视图使用装饰器的方式
Aug 12 #Python
python中pip的安装与使用教程
Aug 10 #Python
python3判断url链接是否为404的方法
Aug 10 #Python
You might like
PHP中for与foreach的区别分析
2011/03/09 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
拖拉表格的JS函数
2008/11/20 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
JS常用函数使用指南
2014/11/23 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
Python编写屏幕截图程序方法
2015/02/18 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
心理学专业毕业生推荐信范文
2013/11/21 职场文书
小学教师管理制度
2014/01/18 职场文书
加拿大留学自荐信
2014/01/28 职场文书
《三峡》教学反思
2014/03/01 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server
JS数组方法some、every和find的使用详情
2021/10/05 Javascript
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android