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正则表达式抓取成语网站
Nov 20 Python
python模块简介之有序字典(OrderedDict)
Dec 01 Python
使用pyecharts在jupyter notebook上绘图
Apr 23 Python
Scrapy的简单使用教程
Oct 24 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
Python内置模块ConfigParser实现配置读写功能的方法
Feb 12 Python
Python实现将数据写入netCDF4中的方法示例
Aug 30 Python
python中logging模块的一些简单用法的使用
Feb 22 Python
使用python实现ftp的文件读写方法
Jul 02 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
Python中Qslider控件实操详解
Feb 20 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 和 HTML
2006/10/09 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
PHP迭代器实现斐波纳契数列的函数
2013/11/12 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
[01:01:23]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第一场 11.26
2020/11/30 DOTA
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
python实现redis三种cas事务操作
2017/12/19 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
Python提取频域特征知识点浅析
2019/03/04 Python
python实现微信防撤回神器
2019/04/29 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
如何在python中执行另一个py文件
2020/04/30 Python
python如何实现图片压缩
2020/09/11 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android