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中的元类(metaclass)
Feb 14 Python
python实现员工管理系统
Jan 11 Python
python实现二叉查找树实例代码
Feb 08 Python
使用Python来开发微信功能
Jun 13 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
Python网页正文转换语音文件的操作方法
Dec 09 Python
Python基础教程之异常详解
Jan 10 Python
浅析Python语言自带的数据结构有哪些
Aug 27 Python
python numpy--数组的组合和分割实例
Feb 24 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 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实现的获取URL信息的类
2007/01/02 PHP
zf框架的registry(注册表)使用示例
2014/03/13 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
jquery each()源代码
2011/02/14 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
用python实现的线程池实例代码
2018/01/06 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
2014年党务公开方案
2014/05/08 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
Python基础知识之变量的详解
2021/04/14 Python
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
Golang中interface{}转为数组的操作
2021/04/30 Golang
SpringBoot实现异步事件驱动的方法
2021/06/28 Java/Android
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
全新239军机修复记
2022/04/05 无线电