selenium 源码通读·8 |webdriver/common/keys.py-Keys 类分析
作者:虫无涯
- 2023-04-19 陕西
本文字数:1287 字
阅读完需:约 4 分钟
selenium 源码通读·8 |webdriver/common/keys.py-Keys 类分析
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+Adriver.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 webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.common.by import Byimport 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()
复制代码
划线
评论
复制
发布于: 刚刚阅读数: 4
版权声明: 本文为 InfoQ 作者【虫无涯】的原创文章。
原文链接:【http://xie.infoq.cn/article/a078061fa6676afee4ef7fd7e】。文章转载请联系作者。
虫无涯
关注
专注测试领域各种技术研究、分享和交流~ 2019-12-11 加入
CSDN测试领域优质创作者 | CSDN博客专家 | 阿里云专家博主 | 华为云享专家 | 51CTO专家博主










评论