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开发环境PyScripter中文乱码问题解决方案
Sep 11 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
python解析命令行参数的三种方法详解
Nov 29 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
Apr 27 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
python+playwright微软自动化工具的使用
Feb 02 Python
matplotlib事件处理基础(事件绑定、事件属性)
Feb 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中定义网站根目录的常用方法
2010/08/08 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
解放web程序员的输入验证
2006/10/06 Javascript
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
iis6+javascript Add an Extension File
2007/06/13 Javascript
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
Jquery中Event对象属性小结
2015/02/27 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
react-native DatePicker日期选择组件的实现代码
2017/09/12 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
下载糗事百科的内容_python版
2008/12/07 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
flask 实现token机制的示例代码
2019/11/07 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
公司授权委托书格式范文
2014/10/02 职场文书
销售员自我评价
2015/03/11 职场文书