Selenium系列教程 - 使用Keys模拟键盘操作

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()

在这里插入图片描述


在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值