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获取脚本所在目录的正确方法
Apr 15 Python
连接Python程序与MySQL的教程
Apr 29 Python
python计算时间差的方法
May 20 Python
通过源码分析Python中的切片赋值
May 08 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
PyQt5显示GIF图片的方法
Jun 17 Python
python3.6编写的单元测试示例
Aug 17 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
python3实现用turtle模块画一棵随机樱花树
Nov 21 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 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时间戳使用实例代码
2008/06/07 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
python 实现Harris角点检测算法
2020/12/11 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
个人授权委托书范文
2014/09/21 职场文书
法院授权委托书格式
2014/09/28 职场文书
党性分析材料格式
2014/12/19 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
合同范本之电脑出租
2019/08/13 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android