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 18 Python
haskell实现多线程服务器实例代码
Nov 26 Python
python函数返回多个值的示例方法
Dec 04 Python
Python中给List添加元素的4种方法分享
Nov 28 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
Python3.遍历某文件夹提取特定文件名的实例
Apr 26 Python
Python 隐藏输入密码时屏幕回显的实例
Feb 19 Python
Kears+Opencv实现简单人脸识别
Aug 28 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
Oct 01 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 Python
python调用摄像头的示例代码
Sep 28 Python
Python基础之pandas数据合并
Apr 27 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/09/28 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
js 处理URL实用技巧
2010/11/23 Javascript
eval与window.eval的差别分析
2011/03/17 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
小程序云开发初探(小结)
2018/10/24 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
Python基础知识_浅谈用户交互
2017/05/31 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
python 一维二维插值实例
2020/04/22 Python
使用Python pip怎么升级pip
2020/08/11 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
JAVA中运算符的分类及举例
2015/09/12 面试题
北京大学自荐信范文
2014/01/28 职场文书
活动总结的格式
2014/05/07 职场文书
财务人员担保书
2014/05/13 职场文书
岗位说明书怎么写
2014/07/30 职场文书
长城导游词300字
2015/01/30 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript