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 相关文章推荐
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
详解Python迭代和迭代器
Mar 28 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
python出现"IndentationError: unexpected indent"错误解决办法
Oct 15 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
Apr 28 Python
python实现NB-IoT模块远程控制
Jun 20 Python
mac下如何将python2.7改为python3
Jul 13 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
python将图片转base64,实现前端显示
Jan 09 Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 Python
Python实现UDP程序通信过程图解
May 15 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 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代码包装修正版
2008/03/15 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
2018/12/20 Javascript
Vue 2.0双向绑定原理的实现方法
2019/10/23 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
python逆向入门教程
2018/01/15 Python
使用Python实现批量ping操作方法
2020/05/06 Python
python线程池如何使用
2020/05/28 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
Python实现简单猜数字游戏
2021/02/03 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
python 装饰器重要在哪
2021/02/14 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
html5.2 dialog简介详解
2018/02/27 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
初中美术教学反思
2014/01/29 职场文书
生产厂长岗位职责
2014/02/21 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
会计工作总结范文2014
2014/12/23 职场文书
小学运动会开幕词
2015/01/28 职场文书
新闻稿标题
2015/07/18 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书