zoukankan      html  css  js  c++  java
  • 键盘事件

    我们在实际的测试工作中,有时候我们在测试时需要使用tab 键将焦点转移到下一个元素,用于验证元素的排序是否正确。webdriver 的Keys()类提供键盘上所有按键的操作,甚至可以模拟一些组合建的操作,如Ctrl+A ,Ctrl+C/Ctrl+V 等。在某些更复杂的情况下,还会出现使用send_keys 来模拟上下键来操作下拉列表的情况。

    代码示例:

    #coding=utf-8


    from selenium import webdriver
    #引入Keys 类包
    from selenium.webdriver.common.keys import Keys
    import time


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


    #输入框输入内容
    driver.find_element_by_id("kw").send_keys("selenium")
    time.sleep(3)


    #删除多输入的一个m
    driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
    time.sleep(3)

    #输入空格键+“教程”
    driver.find_element_by_id("kw").send_keys(Keys.SPACE)
    driver.find_element_by_id("kw").send_keys(u"教程")
    time.sleep(3)


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

    time.sleep(3)

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

    #输入框重新输入内容,搜索
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')
    time.sleep(3)

    #通过回车键盘来代替点击操作
    driver.find_element_by_id("su").send_keys(Keys.ENTER)
    time.sleep(3)

    driver.quit()

    说明:

    需要说明的是上面脚本没什么实际意义,但向我们展示了组合键及键盘按键的用法。为了使用脚本的的运行过程更我们可以看得更加清晰,在每一步操作之后都加上了三秒的休眠时间time.sleep(),后面会再介绍time.sleep()方法的使用。

    from selenium.webdriver.common.keys import Keys
    在使用键盘按键方法前需要先导入keys 类包。

    下面经常使用到的键盘操作:

    send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
    send_keys(Keys.SPACE) 空格键(Space)
    send_keys(Keys.TAB) 制表键(Tab)
    send_keys(Keys.ESCAPE) 回退键(Esc)
    send_keys(Keys.ENTER) 回车键(Enter)
    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)

    Keys 类所提供的按键请查阅webdriver API.

  • 相关阅读:
    查看object信息
    Google C++单元测试框架之宏
    Google C++单元测试框架
    通过iscsi协议使用ceph rbd
    OpenStack+Ceph存储空间回收《转》
    IO
    golang之interface
    mysql 初始化
    ceph之ceph osd tree下的weight, reweight
    c++单元测试框架googletest
  • 原文地址:https://www.cnblogs.com/jshtest/p/6222456.html
Copyright © 2011-2022 走看看