python selenium 元素操作之键盘操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python selenium 元素操作之键盘操作相关的知识,希望对你有一定的参考价值。
上节介绍了模拟鼠标对元素的操作,本节主要介绍键盘对元素的操作,实际过程中鼠标对元素的操作比键盘对元素的操作更经常使用,但是键盘对元素的操作也很重要,本节主要介绍一下键盘对元素的操作。
selenium 提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入from selenium.webdriver.common.keys import Keys即可,然后就可以来模拟键盘操作。
#导入Keys 模块,然后我们看看Keys 模块定义了那些按键
from selenium.webdriver.common.keys import Keys
导入模块以后,我们可以看看具体的定义按键内容,我已经把经常使用的按键注释标记。
NULL = ‘\\ue000‘ CANCEL = ‘\\ue001‘ # ^break HELP = ‘\\ue002‘ BACKSPACE = ‘\\ue003‘ BACK_SPACE = BACKSPACE #删除键 TAB = ‘\\ue004‘ #TAB键 CLEAR = ‘\\ue005‘ RETURN = ‘\\ue006‘ ENTER = ‘\\ue007‘ #回车键 SHIFT = ‘\\ue008‘ #Shift键 LEFT_SHIFT = SHIFT CONTROL = ‘\\ue009‘ LEFT_CONTROL = CONTROL #Ctrl 键 ALT = ‘\\ue00a‘ #Alt 键 LEFT_ALT = ALT PAUSE = ‘\\ue00b‘ ESCAPE = ‘\\ue00c‘ #ECS键 SPACE = ‘\\ue00d‘ #空格键 PAGE_UP = ‘\\ue00e‘ #PgUp 键 PAGE_DOWN = ‘\\ue00f‘ #PgDwon 键 END = ‘\\ue010‘ #END 键 HOME = ‘\\ue011‘ #HOME 键 LEFT = ‘\\ue012‘ #左键 ARROW_LEFT = LEFT UP = ‘\\ue013‘ #上键 ARROW_UP = UP RIGHT = ‘\\ue014‘ ARROW_RIGHT = RIGHT #右键 DOWN = ‘\\ue015‘ #下键 ARROW_DOWN = DOWN INSERT = ‘\\ue016‘ #insert键 DELETE = ‘\\ue017‘ #del键
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‘
看到模块中包含了很多的按键但是真正实际使用的按键不多,所以我下面对按键的操作将一些方法介绍一下,就不会对所有的按键详细介绍。
1.首先我们了解下组合键,什么是组合键,比如我们经常使用的Ctrl + A ,Ctrl + C 等都是组合键。我们先看个例子
在使用按键操作的时候我们需要借助一下send_keys()来模拟操作,Keys.CONTROL 也就是我们键盘上的Ctrl键,下面是几个常用的组合键。
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)
我们下面使用Ctrl + A 来编写一个实例,看一下组合键的使用。
#-*- coding:utf-8 -*- from selenium.webdriver.common.keys import Keys from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element_by_id(‘kw‘).send_keys(‘AAAAAAAAAAAA‘) driver.find_element_by_id("kw").send_keys(Keys.CONTROL,‘a‘) #注意这里组合键的输入。 time.sleep(10) driver.quit()
2.下面常用的键,这些常用键主要是非组合键,直接输入即可。
- 回车键 Keys.ENTER
- 删除键 Keys.BACK_SPACE
- 空格键 Keys.SPACE
- 制表键 Keys.TAB
- 回退键 Keys.ESCAPE
- 刷新键 Keys.F5
下面我们选择一个常用的键,来编写一个例子,使用回车键来代替鼠标的click()键
#-*- coding:utf-8 -*- from selenium.webdriver.common.keys import Keys from selenium import webdriver import time driver = webdriver.Chrome() driver.maximize_window() driver.get("http://cn.bing.com/") driver.find_element_by_id(‘sb_form_q‘).send_keys(‘selenium‘) driver.find_element_by_id("sb_form_go").send_keys(Keys.ENTER) #通过回车键来代替鼠标的左键 driver.quit()
这里我们可以看到跟鼠标的模拟效果是一样。
上面的两个例子说明了使用组合键和单个按键来操作元素,因为按键的使用起来比较简单,主要是认识每个按键代表的意思,这样我们就可以顺利的使用按键。
以上是关于python selenium 元素操作之键盘操作的主要内容,如果未能解决你的问题,请参考以下文章
(转)python selenium-webdriver 元素操作之鼠标和键盘事件
Python_Selenium之basepage 识别元素浏览器操作获取属性鼠标事件键盘事件弹窗切换frame切换句柄封装(持续更新中...)