selenium可以操作鼠标,此外它的Keys()类提供了操作键盘的途径,因为键盘上几乎所有按键都可以用Keys()类实现。 之前我们一直用元素的send_keys()方法输入文字,其实该方法也可以输入键盘的按键,按键就是Keys()类所提供。

学习本文前你可以再回顾下提供键盘按键等交互行为的类ActionChains。其实在selenium之外还有基于python的键盘操作PyKeyboard模块,详情查看PyKeyboard按键操作。

from selenium.webdriver.common.keys import Keys

本节课是理论,下节课是实操。常见的按键如下

send_keys(Keys.SHIFT) shift键

send_keys(Keys.CONTROL) ctrl键

send_keys(Keys.ALT) alt键

send_keys(Keys.PAGE_UP) PaUp键

send_keys(Keys.PAGE_DOWN) PaDn键

send_keys(Keys.UP) 上

send_keys(Keys.DOWN) 下

send_keys(Keys.LEFT) 左

send_keys(Keys.RIGHT) 右

send_keys(Keys.COMMAND)

send_keys(Keys.BACK_SPACE) 删除键

send_keys(Keys.SPACE) 空格键

send_keys(Keys.TAB) 制表键

send_keys(Keys.ESCAPE) 回退键

send_keys(Keys.ENTER) 回车键

send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)

send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)

send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)

send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)

send_keys(Keys.F1) F1键

send_keys(Keys.F5) F5键

……

send_keys(Keys.F12) F12键

Set of special keys codes.

ADD = u'ue025'

ALT = u'ue00a'

ARROW_DOWN = u'ue015'

ARROW_LEFT = u'ue012'

ARROW_RIGHT = u'ue014'

ARROW_UP = u'ue013'

BACKSPACE = u'ue003'

BACK_SPACE = u'ue003'

CANCEL = u'ue001'

CLEAR = u'ue005'

COMMAND = u'ue03d'

CONTROL = u'ue009'

DECIMAL = u'ue028'

DELETE = u'ue017'

DIVIDE = u'ue029'

DOWN = u'ue015'

END = u'ue010'

ENTER = u'ue007'

EQUALS = u'ue019'

ESCAPE = u'ue00c'

F1 = u'ue031'

F10 = u'ue03a'

F11 = u'ue03b'

F12 = u'ue03c'

F2 = u'ue032'

F3 = u'ue033'

F4 = u'ue034'

F5 = u'ue035'

F6 = u'ue036'

F7 = u'ue037'

F8 = u'ue038'

F9 = u'ue039'

HELP = u'ue002'

HOME = u'ue011'

INSERT = u'ue016'

LEFT = u'ue012'

LEFT_ALT = u'ue00a'

LEFT_CONTROL = u'ue009'

LEFT_SHIFT = u'ue008'

META = u'ue03d'

MULTIPLY = u'ue024'

NULL = u'ue000'

NUMPAD0 = u'ue01a'

NUMPAD1 = u'ue01b'

NUMPAD2 = u'ue01c'

NUMPAD3 = u'ue01d'

NUMPAD4 = u'ue01e'

NUMPAD5 = u'ue01f'

NUMPAD6 = u'ue020'

NUMPAD7 = u'ue021'

NUMPAD8 = u'ue022'

NUMPAD9 = u'ue023'

PAGE_DOWN = u'ue00f'

PAGE_UP = u'ue00e'

PAUSE = u'ue00b'

RETURN = u'ue006'

RIGHT = u'ue014'

SEMICOLON = u'ue018'

SEPARATOR = u'ue026'

SHIFT = u'ue008'

SPACE = u'ue00d'

SUBTRACT = u'ue027'

TAB = u'ue004'

UP = u'ue013'

看起来挺简单的,其实还是有一些注意事项,比如页面回到顶部回到底部的操作最好定位body元素执行按键,经过实测定位到其他元素甚至输入框上也可以实现下拉,但理论上总是感觉有点不放心(说不定某种情况就报错了),所以最好注意下。下节课我们上代码看一下定位到不同元素页面下拉的效果!

python keyboard backspace_selenium键盘按键Keys类及键盘码详解相关推荐

  1. Python基础(六) | 面向对象类定义及特性详解

    ⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,机器学习及深度学习的代码能力 ...

  2. python 元类 type_Python 使用元类type创建类对象常见应用详解

    本文实例讲述了Python 使用元类type创建类对象.分享给大家供大家参考,具体如下: type("123") 可以查看变量的类型;同时 type("类名", ...

  3. Python的Django框架中forms表单类的使用方法详解2

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  4. python统计csv行数_对Python 多线程统计所有csv文件的行数方法详解

    如下所示: #统计某文件夹下的所有csv文件的行数(多线程) import threading import csv import os class MyThreadLine(threading.Th ...

  5. python实现单例模式的几种方式_基于Python中单例模式的几种实现方式及优化详解...

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  6. Python中常见的__init__.py是什么意思?详解Python import的方式和原理

    Python中常见的__init__.py是什么意思?详解Python import的方式和原理 1 什么是模块化编程? 2 __init__.py文件的作用 3 Python如何import第三方库 ...

  7. AidLux“换脸”案例源码详解 (Python)

    "换脸"案例源码详解 (Python) faceswap_gui.py用于换脸,可与facemovie_gui.py身体互换源码(上一篇文章)对照观看 打开faceswap_gui ...

  8. 台式win7f1到f12热键取消_Windows 7旗舰版系统中键盘F1到F12快捷键的作用详解

    Windows 7旗舰版系统中键盘F1到F12快捷键的作用详解跟大家分享,在键盘上面大家都知道最上面有一排F1到F2的按键,这些是windows的功能键,可以提供我们一些通常的快捷操作,如果你掌握了这 ...

  9. Django 基于类的通用视图详解

    原文出处:https://segmentfault.com/a/1190000005685454 Django 学习小组:基于类的通用视图详解(一) 通过三周的时间我们开发了一个简单的个人 Blog, ...

最新文章

  1. BGA封装芯片手工焊接攻略
  2. Android实战技巧之三十七:图片的Base64编解码
  3. pygame显示图片的方法_使用Pygame进行游戏开发(1)
  4. 云炬Android开发笔记 6启动图功能开发与封装
  5. 工具的特性_16 个好用的 Code Review 工具
  6. Android变形(Transform)之Camera使用介绍【转】
  7. Sublime Text安装格式化xml的插件
  8. Flask 第三方组件之 login
  9. Google工程师详解Android架构
  10. vivo android 刷机教程,VIVOX21原厂官方固件刷机教程_线刷|救砖教程图解
  11. 纯CSS代码绘制小米LOGO
  12. 如何在批处理/ cmd中“注释掉”(添加注释)?
  13. php多语言商城,Ecshop商城多国语言修改方法
  14. 世界著名半导体公司及其官网
  15. 阿里云服务器租用费用清单表(CPU内存带宽磁盘)
  16. .NET JWT Token验证
  17. 数据库保存数据,类型为List<String>
  18. 1.Python-准备工作:搭建环境与“Hello,world!”
  19. 【从0到1搭建LoRa物联网】20、LoRaWAN扩展
  20. 190407 逆向-西湖论剑杯

热门文章

  1. 知乎运营推广方案PPT模板
  2. java xmpp实例,XMPP协议学习笔记一
  3. O2OA (翱途) 平台 V8.0 发布新增数据台账能力
  4. 【锐捷】盒式设备恢复出厂配置
  5. 向日葵远程连接时控制失灵
  6. C语言计算点到直线的距离
  7. 相关距离 matlab,你只有一个ArcGIS和Matlab的距离!
  8. 【算力网络】算力网络的技术创新——算网一体关键技术
  9. FPGA PLL时钟经 ODDR送到管脚
  10. 基于vue移动端UI框架