selenium源码通读·8 |webdriver/common/keys.py-Keys类分析
2023-03-07 09:05:13 时间
1 源码路径
selenium/webdriver/common/keys.py
2 功能描述
- 模拟键盘的输入;
- 源码如下:
class Keys(object):
"""
Set of special keys codes.
"""
NULL = '\ue000'
CANCEL = '\ue001' # ^break
HELP = '\ue002'
BACKSPACE = '\ue003'
BACK_SPACE = BACKSPACE
TAB = '\ue004'
CLEAR = '\ue005'
RETURN = '\ue006'
ENTER = '\ue007'
SHIFT = '\ue008'
LEFT_SHIFT = SHIFT
CONTROL = '\ue009'
LEFT_CONTROL = CONTROL
ALT = '\ue00a'
LEFT_ALT = ALT
PAUSE = '\ue00b'
ESCAPE = '\ue00c'
SPACE = '\ue00d'
PAGE_UP = '\ue00e'
PAGE_DOWN = '\ue00f'
END = '\ue010'
HOME = '\ue011'
LEFT = '\ue012'
ARROW_LEFT = LEFT
UP = '\ue013'
ARROW_UP = UP
RIGHT = '\ue014'
ARROW_RIGHT = RIGHT
DOWN = '\ue015'
ARROW_DOWN = DOWN
INSERT = '\ue016'
DELETE = '\ue017'
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'
3 使用方法
- 例如:
# Ctrl+A
driver.find_element(By.ID, "kw").send_keys(Keys.CONTROL, "a")
4 实例
Enter、Ctrl+A
的应用
# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2022/5/17
# 文件名称:selen_keys.py
# 作用:验证Keys方法
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element(By.ID, "kw").send_keys("NoamaNelson")
time.sleep(1)
driver.find_element(By.ID, "kw").send_keys(Keys.ENTER)
driver.maximize_window()
time.sleep(0.5)
driver.find_element(By.ID, "kw").send_keys(Keys.CONTROL, "a")
time.sleep(0.5)
driver.find_element(By.ID, "kw").send_keys("N")
su = driver.find_element(By.ID, "su")
ActionChains(driver).click(su).perform()
time.sleep(1)
driver.quit()
相关文章
- MS Office软件使用技巧 —— Excel篇-office 软件全版本软件下载地址
- 它才是当之无愧的万能PDF编辑“神器” -PDF编辑器全版本下载
- 腾讯云服务器域名解析教程 ?
- 对于 fetch 和 axios 和 Ajax 区别 ?
- office2021破解版(附下载地址、安装教程)-OFFICE 软件全版本软件下载地址
- 优思学院|技术岗角色能锻炼成为管理人才吗?
- 同时使用有线网上内网、无线网上外网
- Linux关闭防火墙命令
- 小程序容器技术助力突破智能汽车瓶颈
- CentOS8安装图形界面
- 在linux下启动tomcat命令
- echarts饼图鼠标移入时,悬停部分不放大突出 属性 ?
- delete和Vue.delete的区别
- TencentOS Server release 3.1 (Final)如何更换安装源?
- 对于bind、call、apply 区别?
- 对于Promise的简单理解 ?
- 什么是闭包?闭包的用途是什么?
- Vue3.0 起步 快速搭建项目 系列一
- vuex的mutation和action的区别和使用
- Fruity Loops Studio2023免费版Daw (宿主软件)