1. Keys类简介
平常我们会用到很多快捷键,那么如何来模拟快捷键操作呢。selenium中给我们提供了大部分的键盘操作方法,如:全选、复制、粘贴等都能模拟出来。首先需要导入Keys这个包。
from selenium.webdriver.common.keys import Keys
2. Keys方法列表
class Keys(object):
"""
Set of special keys codes.
"""
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 # 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' # PgDn
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' # 数字小键盘
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' # F1
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'
常用的键盘操作:
send_keys(Keys.BACK_SPACE) # 删除键(BackSpace)
send_keys(Keys.SPACE) # 空格键(Space)
send_keys(Keys.TAB) # 制表键(TAB)
send_keys(Keys.ESCAPE) # 回退键(ESCAPE)
send_keys(Keys.ENTER) # 回车键(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
3. Keys实例
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com/")
driver.find_element_by_id("kw").send_keys("hwijew")
time.sleep(1)
# 全选(Ctrl+A)
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, "a")
time.sleep(1)
# 剪切(Ctrl+X)
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, "x")
time.sleep(1)
# 粘贴(Ctrl+V)
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, "v")
time.sleep(1)
# 回车键
driver.find_element_by_id("kw").send_keys(Keys.ENTER)
time.sleep(2)
driver.quit()