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实现二维码扫码自动登录淘宝
Dec 27 Python
python顺序的读取文件夹下名称有序的文件方法
Jul 11 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
Python日志syslog使用原理详解
Feb 18 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
Python基于numpy模块实现回归预测
May 14 Python
python实现PDF中表格转化为Excel的方法
Jun 16 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
Sep 25 Python
一行代码python实现文件共享服务器
Apr 22 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 23 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
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
PHP编程风格规范分享
2014/01/15 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
JavaScript函数、方法、对象代码
2008/10/29 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
vant picker+popup 自定义三级联动案例
2020/11/04 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
Python中的默认参数详解
2015/06/24 Python
python中的lambda表达式用法详解
2016/06/22 Python
pyqt5自定义信号实例解析
2018/01/31 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
用pycharm开发django项目示例代码
2018/10/24 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
python实现简单学生信息管理系统
2020/04/09 Python
美丽乡村建设实施方案
2014/03/23 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
防灾减灾标语
2014/10/07 职场文书
关于EntityWrapper的in用法
2022/03/22 Java/Android
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle
Vue ECharts实现机舱座位选择展示功能
2022/05/15 Vue.js