selenium 提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入from selenium.webdriver.common.keys import Keys即可,然后就可以来模拟键盘操作。

#导入Keys 模块,然后我们看看Keys 模块定义了那些按键
from selenium.webdriver.common.keys import Keys

导入模块以后,我们可以看看具体的定义按键内容,我已经把经常使用的按键注释标记。

    NULL = '\ue000'CANCEL = '\ue001'  # ^breakHELP = '\ue002'BACKSPACE = '\ue003'BACK_SPACE = BACKSPACE   #删除键TAB = '\ue004'   #TAB键CLEAR = '\ue005'  RETURN = '\ue006' #键盘返回键ENTER = '\ue007'   #回车键SHIFT = '\ue008'   #Shift键LEFT_SHIFT = SHIFTCONTROL = '\ue009'LEFT_CONTROL = CONTROL   #Ctrl 键ALT = '\ue00a'           #Alt 键LEFT_ALT = ALTPAUSE = '\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 keysNUMPAD1 = '\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  keysF2 = '\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 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 Keys
from selenium import webdriver
import 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()

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

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

[139]python selenium之模拟键盘操作相关推荐

  1. Python + Selenium + AutoIt 模拟键盘实现另存为、上传、下载操作详解

    前言 在web页面中,可以使用selenium的定位方式来识别元素,从而来实现页面中的自动化,但对于页面中弹出的文件选择框,selenium就实现不了了,所以就需引用AutoIt工具来实现. Auto ...

  2. Selenium中级 | 在Selenium中模拟键盘操作

    以下是基于Java语言在Selenium WebDriver中模拟键盘操作的一些常用方法总结 操作单个按键 比如按回车键.按F5进行页面刷新.按F11将窗口设为全屏模式等. 方式1:使用WebElem ...

  3. Python+selenium 自动化-模拟键盘输入、点击操作,如何查看所支持的全部键位名称

    通过 send_keys() 就能进行输入和键盘操作了. 键盘操作需要引用 Keys 包. from selenium import webdriver from selenium.webdriver ...

  4. selenium+Java模拟键盘操作

    selenium中的org.openqa.selenium.Keys类提供了键盘上几乎所有按键的方法. sendKeys()方法可以用来模拟键盘输入, 除此之 外, 我们还可以用它来输入键盘上的按键, ...

  5. python selenium+Firefox 模拟浏览器操作

    glumer Python安装selenium,配置火狐浏览器环境 火狐浏览器直接从网上下载即可, geckodriver的下载链接:https://github.com/mozilla/geckod ...

  6. 【Python自动化测试】:模拟键盘操作

    在selenium中,把键盘的一系列按键封装在Keys类中,因此,我们在模拟键盘操作的时候,需要先导入Keys包,然后配合send_keys()方法使用 # 导入Keys类 from selenium ...

  7. java使用selenium实现模拟浏览器操作API大全 模拟登录

    java selenium 模拟登录 模拟浏览器 API大全 (一)环境安装之Java (二)环境安装之IntelliJ IDEA (三)环境安装之Selenium 1.通过jar包安装 2.通过Ma ...

  8. Python win32api.keybd_event模拟键盘输入

    Python  win32api.keybd_event模拟键盘输入 win32api.keybd_event 该函数原型:keybd_event(bVk, bScan, dwFlags, dwExt ...

  9. Python——实现网页模拟键盘输入和鼠标点击

    Python--实现网页模拟键盘输入和鼠标点击 一.安装selenium库 1.1 win+R打开输入窗口 1.2 输入cmd,点击确定 1.3 输入代码: 二.以谷歌浏览器为例,配置环境 2.1打开 ...

最新文章

  1. 使用jQuery开发messager消息框插件
  2. 跟无闻学习GO Web 编程(一) -- go 开发环境搭配(win7 64bit)
  3. linux socket原理,socket 的工作原理
  4. 利用Splatting提交参数(Hash,哈希)
  5. ajax请求返回整个页面,页面里的javascript执行问题(requireJS)
  6. 用Welford算法实现LN的方差更新
  7. ubuntu 上安装Nginx1.9.*
  8. 800元以内创建的双路CPU主机
  9. yzj学长的即兴发挥
  10. 烂泥:关于安装LiveZilla,MySql数据库的问题
  11. 中国哲学简史 读书笔记
  12. 百度脑图 “展开/收起节点“ 按钮隐藏
  13. 图 2021-01-16
  14. H5页面微信自动登录,和微信页面自定义分享样式
  15. 漫画:什么是大数据?
  16. 转:海尔千日再造核心方案出炉 张瑞敏力推三位一体
  17. UE4(虚幻4)基础:蓝图初识--按shift加速奔跑
  18. java连接accdb,尝试通过Java 8中的JDBC-ODBC连接到.accdb文件时,出现ClassNotFoundException...
  19. RTKLIB观测数据读取修改
  20. Oracle - java连接Oracle

热门文章

  1. SparkStreaming与Hudi整合报错
  2. 回文链表 牛客网 程序员面试金典 C++ Python
  3. android wear 1.6,玩的就是情怀 外国网友将CS 1.6移植到了Android Wear上
  4. 学计算机的运动会口号,运动会口号计算机院
  5. 只有梦幻西游和征途游戏内没有通货膨胀
  6. 日积月累Day7(为什么家庭会生病)
  7. android pin快速解锁,【Android开发】PIN解锁|EditText入门
  8. php yield 详解,PHP yield 协程 生成器用法的了解
  9. 赢胜智能:感恩教师节
  10. “烂掉”的康巴赫网红锅还有人买吗?