web自动化测试第7步:模拟键盘事件(Keys)

版权声明:本文为我的原创文章,给我说一下你就能转走了 https://blog.csdn.net/CCGGAAG/article/details/76038042

对于模拟键盘事件,我们之前的课程中已经有了一些了解,比如基础操作send_keys()方法输入任意值、鼠标事件key_down()、key_up()等,这一节呢,我们也比较简单,我们专门来讲一讲如何使用引入的common.keys库

1.基于send_keys()基础上的key

driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)

如上所示,在基于send_keys()方法的基础上,输入Keys类下封装的方法

下面是keys库的源码

from __future__ import unicode_literals


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'


2.百度注册输入框,keys示例

from selenium import  webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep

# 模拟键盘操作-百度登录页面
driver = webdriver.Chrome()
driver.get("https://passport.baidu.com/v2/?reg")

# 用户名元素定位和手机号元素定位
name_element = driver.find_element_by_css_selector("#TANGRAM__PSP_3__userName")
phone_element = driver.find_element_by_css_selector("#TANGRAM__PSP_3__phone")

# 在手机号输入框输入数据:test
phone_element.send_keys("test")

# 在手机号输入框进行组合键Ctrl+a 、 Ctrl+x
phone_element.send_keys(Keys.CONTROL, "a")
sleep(2)
phone_element.send_keys(Keys.CONTROL, "x")

# 在名字输入框输入组合键Ctrl+v
name_element.send_keys(Keys.CONTROL, "v")

# 在名字输入框输入数字键3
name_element.send_keys(Keys.NUMPAD3)


扫描二维码关注公众号,回复: 3852426 查看本文章

猜你喜欢

转载自blog.csdn.net/CCGGAAG/article/details/76038042
今日推荐