一、前言

selenium提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入Keys类。

from selenium.webdriver.common.keys import Keys

二、常用的非组合键操作

1、回车键:Keys.ENTER
2、删除键:Keys.BACK_SPACE
3、空格键:Keys.SPACE
4、制表键:Keys.TAB
5、回退键:Keys.ESCAPE
6、刷新键:Keys.F5

比如百度搜索中,可以利用Keys.ENTER回车键代替点击搜索框,代码如下:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keysdriver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
time.sleep(5)
# 定位百度输入框,输入内容
driver.find_element("id","kw").send_keys("学习软件测试")
# 定位百度输入框,输入回车键,以此代替点击搜索按钮
driver.find_element("id","kw").send_keys(Keys.ENTER)
# 初始化ActionChains类,输入回车键,执行回车键操作,和上面一行代码的作用一样
# ActionChains(driver).send_keys(Keys.ENTER).perform()

三、常用的组合键操作

我们经常使用的Ctrl+A,Ctrl+C都是组合键。在使用按键操作的时候我们需要借助一下send_keys()来模拟操作。Keys.CONTROL也就是我们键盘上的Ctrl键,下面是几个常用的组合键

1、全选:send_keys(Keys.CONTROL,'a')
2、复制:send_keys(Keys.CONTROL,'c')
3、粘贴:send_keys(Keys.CONTROL,'v')
4、剪切:send_keys(Keys.CONTROL,'x')

注意:send_keys()有两个参数。

同样已百度为例,借助send_keys()来进行复制粘贴等操作,代码如下:

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
time.sleep(5)driver.find_element("id", "kw").send_keys("测试工程师")
driver.find_element("id", "kw").send_keys(Keys.CONTROL, 'a')
driver.find_element("id", "kw").send_keys(Keys.CONTROL, 'c')
driver.find_element("id", "kw").send_keys(Keys.CONTROL, 'v')
driver.find_element("id", "kw").send_keys(Keys.CONTROL, 'v')

运行结果图,最终粘贴了两次:

TODO:还有另一种操作方法,可以利用ActionChains类下面的key_down和key_up方法进行操作,代码如下:

其中:

1、key_down(Keys.CONTROL)  按下Ctrl键

2、send_keys('a') 输入键盘A键

3、key_up(Keys.CONTROL)  在松开Ctrl键

4、perform() 执行之前存储的操作

import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keysdriver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)driver.get("https://www.baidu.com")
# 定位百度输入框输入内容
driver.find_element('id', 'kw').send_keys("测试工程师")
# 初始化一个ActionChains类
action = ActionChains(driver)
# 选中内容
action.key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform()
time.sleep(3)
# 复制内容
action.key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
time.sleep(3)
# 粘贴内容
action.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()
action.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()

selenium中键盘操作:Keys类相关推荐

  1. selenium中键盘操作

    前言 在web测试中,可能会遇到一些需要键盘操作.在selenium中,提供了一个Keys类,来处理键盘操作.Keys类中,几乎提供了所有的键盘快捷键组合操作. DEMO 举个例子,在百度首页,输入内 ...

  2. Selenium基础 — 键盘操作

    1.键盘时间介绍 我们在实际的测试工作中,有时候我们在测试时需要使用tab键将焦点转移到下一个元素,用于验证元素的排序是否正确. webdriver的Keys()类提供键盘上所有按键的操作,甚至可以模 ...

  3. python keyboard backspace_selenium键盘按键Keys类及键盘码详解

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

  4. php文本教学,php中文本操作的类

    给大家一个简单的文本操作的类. 我以前写的,不过一直都没机会用了,文本不如数据库.数据是以行保存的,以\n结尾,注意你输入的数据必须以"\n"结尾的,这是几个最基本的类成员,文本的 ...

  5. selenium中鼠标操作:ActionChains类

    一.ActionChains类的介绍 ActionChains模拟鼠标操作的常用方法.使用click()方法可以进行鼠标的单击操作,但是鼠标操作还包括:双击.右击.悬停.鼠标拖动等功能,所以,Acti ...

  6. selenium.模拟键盘操作(Keys)

    Keys源码: NULL = '\ue000'CANCEL = '\ue001' # ^breakHELP = '\ue002'BACKSPACE = '\ue003'BACK_SPACE = BAC ...

  7. python selenium鼠标点击_python selenium鼠标键盘操作(ActionChains)

    用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains sele ...

  8. 系统中常用操作基类(SSH项目中)非常非常经典的部分

    package com.css.common.hibernate3; import java.io.Serializable; import java.util.List; import java.u ...

  9. 【Selenium自动化测试】鼠标与键盘操作

    在 WebDriver 中,与鼠标操作相关的方法都封装在ActionChains 类中,与键盘操作相关的方法都封装在Keys类中.下面介绍下这两个类中的常用方法. 鼠标操作 ActionChains类 ...

  10. Selenium-鼠标和键盘操作

    Selenium-鼠标和键盘操作 1.鼠标操作 1.1 为什么要操作鼠标? 1.2 鼠标操作的方法 1.3 鼠标执行-perform() 1.4 鼠标右击-context_click() 1.4.1 ...

最新文章

  1. 任意排列、组合终极Shell脚本
  2. 如何查看python是多少位的-请问一下该怎么查看python是32位还是64位?
  3. iphone以旧换新活动_iPhone:我降价 1600 元!安卓:我有 5G
  4. linux启动lsyncd服务,Ubuntu下lsyncd实现远端实时同步配置
  5. ios 后台唤醒应用_IOS开发之----详解在IOS后台执行
  6. 【BZOJ2758】Blinker的噩梦,扫描线+splay+链剖
  7. iOS - iOS8.0 至 iOS15.0 版本变化
  8. SEO兵书:搜索引擎优化手册
  9. 历史经验之QT在WIN32下编译环境配置步骤
  10. 建网站应该买什么云服务器,建网站应该买什么云服务器
  11. 前端笔记05 - js
  12. java设置隐式事务_隐式事务 - -Timothy- - 博客园
  13. 用python画多来a梦-Python—turtle画图(哆啦A梦)
  14. Linux软件包管理工具-yum
  15. cpu过载linux杀进程,Linux CPU过载判断以及分析
  16. 按键精灵电脑版对接百度ai,告别字库(文字识别篇)
  17. 中值滤波medianBlur函数的使用示例程序
  18. 我对未来的计划作文关于计算机,未来的计划作文4篇
  19. 手游弱联网手游如何防作弊
  20. 3000字详解,“会裂变”的小程序产品设计案例

热门文章

  1. IDEA中的TODO使用和Debug史诗级详细使用说明
  2. win7设置电脑保护眼睛颜色(终极方法,提供两种颜色选择)
  3. coffeescript html5,深入浅出CoffeeScript
  4. 专科三年的教训,写给自己,也给正在学习路上的你
  5. MarkDown编辑器----小书匠
  6. D-Feet的复杂类型使用攻略(DBUS)
  7. 2021-2027全球与中国能源物流市场现状及未来发展趋势
  8. abap --MOVE-CORRESPONDING
  9. ecshop 添加php标签,ECSHOP模板标签【ecshop标签大全】ecshop标签手册
  10. 网络数据采集技术snmp/netflow/sflow/network telemetry简介