2025年4月9日 星期三 乙巳(蛇)年 正月初十 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python selenium之模拟键盘操作

时间:08-19来源:作者:点击数:20

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

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

gif

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

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐