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使用scrapy解析js示例
Jan 23 Python
python显示生日是星期几的方法
May 27 Python
Python单例模式的两种实现方法
Aug 14 Python
Python统计单词出现的次数
Apr 04 Python
Python中利用xpath解析HTML的方法
May 14 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
Python如何筛选序列中的元素的方法实现
Jul 15 Python
python实现知乎高颜值图片爬取
Aug 12 Python
Python爬虫使用代理IP的实现
Oct 27 Python
python实现学生通讯录管理系统
Feb 25 Python
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
Jun 03 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字符串,防止SQL注入的方法
2013/07/02 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
html中使用javascript调用本地程序(exe、doc等)实现代码
2013/04/26 Javascript
JS获取时间的方法
2015/01/21 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
学前教育求职自荐信范文
2013/12/25 职场文书
中专生职业生涯规划书范文
2013/12/29 职场文书
2014自荐信的写作技巧
2014/01/28 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python