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中的内置函数getattr()介绍及示例
Jul 20 Python
Python面向对象编程中的类和对象学习教程
Mar 30 Python
django表单实现下拉框的示例讲解
May 29 Python
python ipset管理 增删白名单的方法
Jan 14 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
django创建超级用户过程解析
Sep 18 Python
python3连接MySQL8.0的两种方式
Feb 17 Python
python with语句的原理与用法详解
Mar 30 Python
Python selenium爬取微博数据代码实例
May 22 Python
Python装饰器如何实现修复过程解析
Sep 05 Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 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函数解决SQL injection
2006/10/09 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
javascript 定义初始化数组函数
2009/09/07 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
javaScript复制功能调用实现方案
2012/12/13 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
Python面向对象实现方法总结
2020/08/12 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
信访工作经验交流材料
2014/05/23 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
2015年保送生自荐信
2015/03/24 职场文书
体检通知范文
2015/04/21 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS