如何使用引入的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)相关推荐

  1. web自动化测试第7步:模拟键盘事件(Keys)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/CCGGAAG/article/deta ...

  2. selenium 模拟键盘事件 复制粘贴、右键、回车等

    [selenium 模拟键盘事件 复制粘贴.右键.回车等] #coding=utf-8 ''' selenium ''' from selenium import webdriver as wd im ...

  3. 【键盘】jQuery+CSS3模拟键盘事件(精)

    jQuery+CSS3模拟键盘事件是一款基于jQuery的模拟键盘事件的应用,键盘上除了功能键,其他键都可以用这款插件来模拟.当你敲击键盘上的键时,这款应用会帮助你获取到这个键的事件,并在页面上的模拟 ...

  4. 初识 jquery.simulate.js 模拟键盘事件

    用jquery 和 jquery.simulate.js 实现模拟键盘事件,点击上下左右div相当于点击键盘的上下左右键 <!DOCTYPE html> <html><h ...

  5. Android电子牌外接USB读卡器读取内容模拟键盘事件

    最近做了一个Android外接USB读卡器刷手环读取数据,模拟键盘输入事件的项目; 借鉴了https://github.com/githubRonda/BarcodeScanner 连接电子牌板子调试 ...

  6. selenium模拟键盘事件(回车、删除、刷新等)

    需要引入keys from selenium.webdriver.common.keys import Keys sendkeys可以模拟键盘输入和键盘上的按键: send_keys(Keys.BAC ...

  7. android accessibility 模拟键盘事件_H5 键盘兼容性小结

    在 H5 项目中,我们会经常遇到页面中存在单个甚至多个 input/textarea 输入框与底部固定元素的布局情况.在 input/textarea 输入框获取焦点时,会自动触发键盘弹起,而键盘弹出 ...

  8. 给键盘上的enter设置事件_Selenium3 + Python3自动化测试系列——鼠标事件和键盘事件...

    欢迎各位小哥哥小姐姐阅读本的文章,对大家学习有帮助,请点赞加关注哦!!!!!!!!!! 您的点赞和关注将是我持续更新的动力呢.^v^ 有不懂的问题可以私聊我哦! 一.鼠标事件 在 WebDriver ...

  9. [转载]C#模拟键盘鼠标事件-SendKeys

    C#模拟键盘鼠标事件-SendKeys 2007-09-18 15:138596人阅读评论(1)收藏举报 1.模拟键盘事件 System.Windows.Forms.SendKeys以下是   Sen ...

最新文章

  1. 第十九课.基于sklearn的SVM人脸识别
  2. springboot项目层次结构_Spring Boot 默认的指标数据从哪来的?
  3. Access和SQL SERVER两种数据库的直接转换,不需要第三方工具
  4. 东南亚Lazada平台3C数码市场概括,手机配件消费电子选品推荐
  5. 提高SQL查询效率(SQL优化)
  6. 【转】写给想学习自动化测试的新人
  7. 按照行数分割excel
  8. 配置php7开发环境,Windows7系统环境安装配置PHP开发环境
  9. 全球信息产业的云转型浪潮
  10. IBM MQ 创建以及常见问题
  11. python相关参考文献_深度学习自然语言处理综述,266篇参考文献
  12. python单元测试_python单元测试
  13. 玩转Citrix XenApp中的IE发布 (上)
  14. oracle exists替换,oracle 优化or 替换为in、exists、union all的几种写法,测试没有问题!...
  15. 阅读笔记——凤凰架构(第1章)
  16. DSP学习(3)—— DSP调试与追踪
  17. 李宏毅2020机器学习深度学习(完整版)国语课程PPT
  18. JavaWeb 之 Listener监听器及Session的钝化与活化
  19. Mongo Java按日期查询
  20. 外贸电商:除了paypal,这些支付方式也能帮到你!

热门文章

  1. RTMP 推流增加对H265的支持
  2. 树莓派4B基于OpenWrt安装安朗蝴蝶实现校园上网自由
  3. poi word 添加内容时 光标向下迭代生成新的段落
  4. 【深度森林第三弹】周志华等提出梯度提升决策树再胜DNN
  5. AUTOSAR FOUNDATION文档——Foundation Release Overview
  6. 教你在怎样在黑马论坛发帖
  7. Keras深度学习实战(38)——图像字幕生成
  8. 【word2vec】python读取pdf文件,通过词向量寻找相关词语
  9. 利用MATLAB绘制各种表白心形-固定心形
  10. 简单两步屏蔽新浪微博上的广告