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使用Image处理图片常用技巧分析
Jun 01 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
Dec 04 Python
利用Python脚本生成sitemap.xml的实现方法
Jan 31 Python
python爬虫_自动获取seebug的poc实例
Aug 05 Python
python实现简单飞行棋
Feb 06 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
使用python matploblib库绘制准确率,损失率折线图
Jun 16 Python
python实现最短路径的实例方法
Jul 19 Python
python+django+selenium搭建简易自动化测试
Aug 19 Python
Python threading模块condition原理及运行流程详解
Oct 05 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
Dec 17 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 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提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
python开发中range()函数用法实例分析
2015/11/12 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
HEMA法国:荷兰原创设计
2019/02/21 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
搞笑获奖感言
2014/01/30 职场文书
食品安全工作实施方案
2014/03/26 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
大学生助学金感谢信
2015/01/21 职场文书
单位介绍信格式
2015/01/31 职场文书
美术教师个人总结
2015/02/06 职场文书
银行自荐信怎么写
2015/03/05 职场文书
2015年仓管员工作总结
2015/04/21 职场文书
预备党员党支部意见
2015/06/02 职场文书
我爱我班主题班会
2015/08/13 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
react中的DOM操作实现
2021/06/30 Javascript
python中 .npy文件的读写操作实例
2022/04/14 Python
Go gorilla/sessions库安装使用
2022/08/14 Golang