打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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 Keysfrom selenium import webdriverimport timedriver = 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 Keysfrom selenium import webdriverimport timedriver = 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()

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

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
键盘对元素的操作
Selenium Webdriver 3.X源码分析之定位方式和键盘定义
Python | selenium 的基本操作
Selenium WebDriver 中鼠标和键盘事件分析及扩展
如何使用 Selenium 在 HTML 文本输入中模拟按 Enter 键?
【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服