Web自动化测试:模拟键盘事件(Keys)
如何使用引入的common.keys库来模拟键盘来操控浏览器
一、基础写法
具体用法其实和我们之前对浏览器输入框所用的方法:send_keys()是一样的,只不过我们通过keys类,可以输入webdriver包中对应的键盘操作。
首先导入keys库
from selenium.webdriver.common.keys import Keys
输入单个键盘按键:
小键盘按键3:send_keys(Keys.NUMPAD3)
输入多次的同一个按键
按10次小键盘按键3:send_keys(Keys.NUMPAD3*10)
输入组合按键:
全选Ctrl+A: send_keys(Keys.CONTROL, “a”)
二、键盘按键引用对照
我们通过keys类中,找到了键盘按键所对应的值:
NULL = ‘\ue000’
CANCEL = ‘\ue001’ # ^break
HELP = ‘\ue002’
BACKSPACE = ‘\ue003’
BACK_SPACE = BACKSPACE
TAB = ‘\ue004’
CLEAR = ‘\ue005’
RETURN = ‘\ue006’
ENTER = ‘\ue007’
SHIFT = ‘\ue008’
LEFT_SHIFT = SHIFT
CONTROL = ‘\ue009’
LEFT_CONTROL = CONTROL
ALT = ‘\ue00a’
LEFT_ALT = ALT
PAUSE = ‘\ue00b’
ESCAPE = ‘\ue00c’
SPACE = ‘\ue00d’
PAGE_UP = ‘\ue00e’
PAGE_DOWN = ‘\ue00f’
END = ‘\ue010’
HOME = ‘\ue011’
LEFT = ‘\ue012’
ARROW_LEFT = LEFT
UP = ‘\ue013’
ARROW_UP = UP
RIGHT = ‘\ue014’
ARROW_RIGHT = RIGHT
DOWN = ‘\ue015’
ARROW_DOWN = DOWN
INSERT = ‘\ue016’
DELETE = ‘\ue017’
SEMICOLON = ‘\ue018’
EQUALS = ‘\ue019’
NUMPAD0 = ‘\ue01a’ # number pad keys
NUMPAD1 = ‘\ue01b’
NUMPAD2 = ‘\ue01c’
NUMPAD3 = ‘\ue01d’
NUMPAD4 = ‘\ue01e’
NUMPAD5 = ‘\ue01f’
NUMPAD6 = ‘\ue020’
NUMPAD7 = ‘\ue021’
NUMPAD8 = ‘\ue022’
NUMPAD9 = ‘\ue023’
MULTIPLY = ‘\ue024’
ADD = ‘\ue025’
SEPARATOR = ‘\ue026’
SUBTRACT = ‘\ue027’
DECIMAL = ‘\ue028’
DIVIDE = ‘\ue029’
F1 = ‘\ue031’ # function keys
F2 = ‘\ue032’
F3 = ‘\ue033’
F4 = ‘\ue034’
F5 = ‘\ue035’
F6 = ‘\ue036’
F7 = ‘\ue037’
F8 = ‘\ue038’
F9 = ‘\ue039’
F10 = ‘\ue03a’
F11 = ‘\ue03b’
F12 = ‘\ue03c’
META = ‘\ue03d’
COMMAND = ‘\ue03d’
实例详解:
百度注册页面,我们把手机号码输入框中的数据,通过键盘按键Ctrl + C 、Ctrl + V复制到用户名输入框
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
# 模拟键盘操作-百度登录页面
driver = webdriver.Chrome()
driver.get(“https://passport.baidu.com/v2/?reg”)
# 用户名元素定位和手机号元素定位
name_element=driver.find_element_by_css_selector("#TANGRAM__PSP_3__userName")
phone_element=driver.find_element_by_css_selector("#TANGRAM__PSP_3__phone")
# 在名字输入框输入10个数字键3
name_element.send_keys(Keys.NUMPAD3*10)
# 在手机号输入框输入手机号码
phone_element.send_keys(“18812345678”)
# 在手机号输入框进行组合键Ctrl+a 、 Ctrl+x
phone_element.send_keys(Keys.CONTROL, “a”)
sleep(1)
phone_element.send_keys(Keys.CONTROL, “x”)
# 在名字输入框输入组合键Ctrl+v
name_element.clear()
name_element.send_keys(Keys.CONTROL, “v”)
Web自动化测试:模拟键盘事件(Keys)相关推荐
- web自动化测试第7步:模拟键盘事件(Keys)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/CCGGAAG/article/deta ...
- selenium 模拟键盘事件 复制粘贴、右键、回车等
[selenium 模拟键盘事件 复制粘贴.右键.回车等] #coding=utf-8 ''' selenium ''' from selenium import webdriver as wd im ...
- 【键盘】jQuery+CSS3模拟键盘事件(精)
jQuery+CSS3模拟键盘事件是一款基于jQuery的模拟键盘事件的应用,键盘上除了功能键,其他键都可以用这款插件来模拟.当你敲击键盘上的键时,这款应用会帮助你获取到这个键的事件,并在页面上的模拟 ...
- 初识 jquery.simulate.js 模拟键盘事件
用jquery 和 jquery.simulate.js 实现模拟键盘事件,点击上下左右div相当于点击键盘的上下左右键 <!DOCTYPE html> <html><h ...
- Android电子牌外接USB读卡器读取内容模拟键盘事件
最近做了一个Android外接USB读卡器刷手环读取数据,模拟键盘输入事件的项目; 借鉴了https://github.com/githubRonda/BarcodeScanner 连接电子牌板子调试 ...
- selenium模拟键盘事件(回车、删除、刷新等)
需要引入keys from selenium.webdriver.common.keys import Keys sendkeys可以模拟键盘输入和键盘上的按键: send_keys(Keys.BAC ...
- android accessibility 模拟键盘事件_H5 键盘兼容性小结
在 H5 项目中,我们会经常遇到页面中存在单个甚至多个 input/textarea 输入框与底部固定元素的布局情况.在 input/textarea 输入框获取焦点时,会自动触发键盘弹起,而键盘弹出 ...
- 给键盘上的enter设置事件_Selenium3 + Python3自动化测试系列——鼠标事件和键盘事件...
欢迎各位小哥哥小姐姐阅读本的文章,对大家学习有帮助,请点赞加关注哦!!!!!!!!!! 您的点赞和关注将是我持续更新的动力呢.^v^ 有不懂的问题可以私聊我哦! 一.鼠标事件 在 WebDriver ...
- [转载]C#模拟键盘鼠标事件-SendKeys
C#模拟键盘鼠标事件-SendKeys 2007-09-18 15:138596人阅读评论(1)收藏举报 1.模拟键盘事件 System.Windows.Forms.SendKeys以下是 Sen ...
最新文章
- 第十九课.基于sklearn的SVM人脸识别
- springboot项目层次结构_Spring Boot 默认的指标数据从哪来的?
- Access和SQL SERVER两种数据库的直接转换,不需要第三方工具
- 东南亚Lazada平台3C数码市场概括,手机配件消费电子选品推荐
- 提高SQL查询效率(SQL优化)
- 【转】写给想学习自动化测试的新人
- 按照行数分割excel
- 配置php7开发环境,Windows7系统环境安装配置PHP开发环境
- 全球信息产业的云转型浪潮
- IBM MQ 创建以及常见问题
- python相关参考文献_深度学习自然语言处理综述,266篇参考文献
- python单元测试_python单元测试
- 玩转Citrix XenApp中的IE发布 (上)
- oracle exists替换,oracle 优化or 替换为in、exists、union all的几种写法,测试没有问题!...
- 阅读笔记——凤凰架构(第1章)
- DSP学习(3)—— DSP调试与追踪
- 李宏毅2020机器学习深度学习(完整版)国语课程PPT
- JavaWeb 之 Listener监听器及Session的钝化与活化
- Mongo Java按日期查询
- 外贸电商:除了paypal,这些支付方式也能帮到你!