Selenium键盘操作事件

2018年12月26日 3.22k 次阅读 2 条评论 2 人点赞

写在前面
日常的UI自动化测试活动中,有时候会用到模拟键盘输入操作。Selenium WebDriver 给我们提供了方法send_keys() 来处理这类事件。下面简单示范一下使用方法:

#coding=utf-8
#www.testclass.cn
#Altumn

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

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

# 输入框输入内容
driver.find_element_by_id("kw").send_keys("testclass.cn")

# 输入Control+a模拟全选
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')

# 输入Control+c模拟复制
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c') 

# 输入Control+v模拟粘贴
driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')  

# 删除一个“n”
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)

# 输入“n”
driver.find_element_by_id("kw").send_keys("n")
# 输入空格键
driver.find_element_by_id("kw").send_keys(Keys.SPACE)

# ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')

#等待1秒,为了演示效果;
time.sleep(1)

# ctrl+x 剪切输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x')

#等待1秒,为了演示效果;
time.sleep(1)

# ctrl+v 粘贴内容到输入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')

# 等待1秒,为了演示效果;
time.sleep(1)

# 通过回车键来代替单击操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)

注意:在使用键盘按键方法前需要先导入 keys 类,请注意区分Keys首字母得大小写,第一个为keys,第二个为Keys。

from selenium.webdriver.common.keys import Keys

以下为常用的键盘操作:

  • send_keys(Keys.TAB) 制表键(Tab)
  • send_keys(Keys.ESCAPE) 回退键(Esc)
  • send_keys(Keys.SPACE) 空格键(Space)
  • send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
  • send_keys(Keys.ENTER) 回车键(Enter)
  • send_keys(Keys.PAGE_UP)翻页键上(Page Up)
  • send_keys(Keys.PAGE_DOWN):翻页键下(Page Down)
  • 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)
  • send_keys(Keys.F1) 键盘 F1
  • send_keys(Keys.F12) 键盘 F12
  • send_keys(Keys.END)行尾键(End)
  • send_keys(Keys.HOME)行首键(Home)
  • send_keys(Keys.SHIFT)大小写转换键(Shift)
  • send_keys(Keys.LEFT)方向键左(Left)
  • send_keys(Keys.UP)方向键上(Up)
  • send_keys(Keys.RIGHT)方向键右(Right)
  • send_keys(Keys.DOWN)方向键下(Down)
  • send_keys(Keys.INSERT)插入键(Insert)
  • 风里云里,我在这里等你!

    文章评论(2)

  • 11

    自动化测试学习交流群:670250199

    2019年3月28日