python selenium 元素操作之键盘操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python selenium 元素操作之键盘操作相关的知识,希望对你有一定的参考价值。

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

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

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

技术分享

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


以上是关于python selenium 元素操作之键盘操作的主要内容,如果未能解决你的问题,请参考以下文章

(转)python selenium-webdriver 元素操作之鼠标和键盘事件

selenium+python之操作元素

Python_Selenium之basepage 识别元素浏览器操作获取属性鼠标事件键盘事件弹窗切换frame切换句柄封装(持续更新中...)

[Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素常用方法键盘鼠标操作)

Python+selenium自动化之鼠标键盘事件

webdriver元素操作-键盘(python+selenium)