zoukankan      html  css  js  c++  java
  • (十六)WebDriver API之键盘事件

    随笔记录方便自己和同路人查阅。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

      学习selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料,

    这里就不多做介绍了,所有例子均使用python3.6+selenium执行的。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

    键盘事件

      Keys()类提供了键盘上几乎所有按键的方法。见面文章中提到过send_keys()方法可以用来模拟键盘输入,除此之外,我们还可以用它来输入键盘上的按键,甚至是组合键,如Ctrl+ACtrl+C等。

    from selenium import webdriver
    #导入keys模块
    from selenium.webdriver.common.keys import Keys
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    
    #输入框输入内容
    driver.find_element_by_id('kw').send_keys('seleniumm')
    
    #删除多输入的一个m
    driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
    
    #输入空格键+“教程”
    driver.find_element_by_id('kw').send_keys(Keys.SPACE)
    driver.find_element_by_id('kw').send_keys("教程")
    
    #ctrl+a全选输入框内容
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')
    
    #ctrl+x剪切输入框内容
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x')
    
    
    #ctrl+v黏贴内容到输入框
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'v')
    
    #通过回车键来代替单击操作
    driver.find_element_by_id('su').send_keys(Keys.ENTER)

      需要说明的是,上面的脚本没有什么实际意义,仅向我们展示了模拟键盘各种按键与组合的用法。

      from selenium.webdriver.common.keys import Keys

      在使用键盘按键方法前需要先导入keys类。

      以下为常用的键盘操作:

      send_keys(Keys.BACK_SPACE)  删除键(AackSpace)

      send_keys(Keys.SPACE)  空格键(Space)

      send_keys(Keys.TAB)  制表符(Tab)

      send_keys(Keys.ESCAPE)  回退键(Ese)

      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)

      send_keys(Keys.F1)  键盘F1

      ...

      send_keys(Keys.F12)  键盘F12

  • 相关阅读:
    继承ViewGroup:重写onMeasure方法和onLayout方法
    Eclipse插件的四种安装方法
    android 多条短信息发出后的状态怎样判断
    关闭windows的自动更新
    有的放矢,用好软件开发的目标管理
    安卓打包之数字签名
    PHP+jQuery实现Ajax分页效果:jPaginate插件的应用
    使用SqlDataReader获取输出参数
    ServU服务器中文乱码问题的解决
    VPS虚拟主机与VM虚拟主机对比
  • 原文地址:https://www.cnblogs.com/lirongyang/p/11457781.html
Copyright © 2011-2022 走看看