• python selenium-webdriver 元素操作之键盘操作(五)


    上节介绍了模拟鼠标对元素的操作,本节主要介绍键盘对元素的操作,实际过程中鼠标对元素的操作比键盘对元素的操作更经常使用,但是键盘对元素的操作也很重要,本节主要介绍一下键盘对元素的操作。

    selenium 提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入from selenium.webdriver.common.keys import Keys即可,然后就可以来模拟键盘操作。

    #导入Keys 模块,然后我们看看Keys 模块定义了那些按键
    from selenium.webdriver.common.keys import Keys

    导入模块以后,我们可以看看具体的定义按键内容,我已经把经常使用的按键注释标记。

        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
        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' #PgDwon 键
        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' # 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'

    看到模块中包含了很多的按键但是真正实际使用的按键不多,所以我下面对按键的操作将一些方法介绍一下,就不会对所有的按键详细介绍。

    1.首先我们了解下组合键,什么是组合键,比如我们经常使用的Ctrl + A ,Ctrl + C 等都是组合键。我们先看个例子

    在使用按键操作的时候我们需要借助一下send_keys()来模拟操作,Keys.CONTROL 也就是我们键盘上的Ctrl键,下面是几个常用的组合键。

    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)

    我们下面使用Ctrl + A 来编写一个实例,看一下组合键的使用。

    #-*- coding:utf-8 -*-
    from selenium.webdriver.common.keys import Keys
    from selenium import webdriver
    import time
    driver = webdriver.Chrome()
    driver.get("http://www.baidu.com")
    driver.find_element_by_id('kw').send_keys('AAAAAAAAAAAA')
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')  #注意这里组合键的输入。
    time.sleep(10)
    driver.quit()

    2.下面常用的键,这些常用键主要是非组合键,直接输入即可。

    • 回车键 Keys.ENTER
    • 删除键 Keys.BACK_SPACE
    • 空格键 Keys.SPACE
    • 制表键 Keys.TAB
    • 回退键 Keys.ESCAPE
    • 刷新键 Keys.F5

    下面我们选择一个常用的键,来编写一个例子,使用回车键来代替鼠标的click()键

    #-*- coding:utf-8 -*-
    from selenium.webdriver.common.keys import Keys
    from selenium import webdriver
    import time
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get("http://cn.bing.com/")
    driver.find_element_by_id('sb_form_q').send_keys('selenium')
    driver.find_element_by_id("sb_form_go").send_keys(Keys.ENTER)   #通过回车键来代替鼠标的左键
    driver.quit()

    这里我们可以看到跟鼠标的模拟效果是一样。

    上面的两个例子说明了使用组合键和单个按键来操作元素,因为按键的使用起来比较简单,主要是认识每个按键代表的意思,这样我们就可以顺利的使用按键。

  • 相关阅读:
    设计模式-策略模式
    设计模式-建造者模式
    js助手函数
    Javascript使用函数做命名空间
    腾讯云scf云函数,python依赖安装与上传的正确姿势
    nodejs爬虫,服务器经常返回ECONNRESET或者socket hang up错误的解决方法
    http请求,服务器回复内容为乱码的一种可能解决方法
    js在动态定义的新对象中,属性为变量时,如何动态定义
    nodejs中使用request时出现unable to verify the first certificate的一种解决办法
    Ubuntu偶然出现在待机解锁时,密码输入肯定正确但却无法进入的一种可能性
  • 原文地址:https://www.cnblogs.com/mengyu/p/6942584.html
Copyright © 2020-2023  润新知