上节介绍了模拟鼠标对元素的操做,本节主要介绍键盘对元素的操做,实际过程当中鼠标对元素的操做比键盘对元素的操做更常常使用,可是键盘对元素的操做也很重要,本节主要介绍一下键盘对元素的操做。web
selenium 提供了比较完整的键盘操做,在使用的模拟键盘操做以前须要咱们导入from selenium.webdriver.common.keys import Keys便可,而后就能够来模拟键盘操做。ui
#导入Keys 模块,而后咱们看看Keys 模块定义了那些按键
from selenium.webdriver.common.keys import Keys
导入模块之后,咱们能够看看具体的定义按键内容,我已经把常常使用的按键注释标记。spa
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'
看到模块中包含了不少的按键可是真正实际使用的按键很少,因此我下面对按键的操做将一些方法介绍一下,就不会对全部的按键详细介绍。3d
1.首先咱们了解下组合键,什么是组合键,好比咱们常常使用的Ctrl + A ,Ctrl + C 等都是组合键。咱们先看个例子code
在使用按键操做的时候咱们须要借助一下send_keys()来模拟操做,Keys.CONTROL 也就是咱们键盘上的Ctrl键,下面是几个经常使用的组合键。orm
send_keys(Keys.CONTROL,'a') #全选(Ctrl+A)blog
send_keys(Keys.CONTROL,'c') #复制(Ctrl+C)utf-8
send_keys(Keys.CONTROL,'x') #剪切(Ctrl+X)element
send_keys(Keys.CONTROL,'v') #粘贴(Ctrl+V)get
咱们下面使用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.下面经常使用的键,这些经常使用键主要是非组合键,直接输入便可。
下面咱们选择一个经常使用的键,来编写一个例子,使用回车键来代替鼠标的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()
这里咱们能够看到跟鼠标的模拟效果是同样。
上面的两个例子说明了使用组合键和单个按键来操做元素,由于按键的使用起来比较简单,主要是认识每一个按键表明的意思,这样咱们就能够顺利的使用按键。