click()方法,可以模拟鼠标点击,那么在Python Selenium中怎么操作键盘呢?比如回车,CTRL+TAB这类键盘事件呢?

特殊按键和快捷键

键盘上有些特殊按键,比如CTRL键,SHIFT键;还有一些操作浏览器的快捷键,典型的就是使用CTRL+组合键。

这些键的使用都在selenium.webdriver.common.keys里

要操作按键的时候要imprt一下。下面程序就来演示一下,程序在py3.7测试通过:#coding=utf-8fromselenium importwebdriver

fromselenium.webdriver.common.keys importKeys

importtime

#打开Chrome浏览器driver = webdriver.Chrome(executable_path="D:/chromedriver/chromedriver.exe")

#打开Pythonf首页driver.get('https://www.pythonf.cn')

time.sleep(8)

element = driver.find_element_by_tag_name('body')

element.send_keys(Keys.DOWN)

time.sleep(1)

element.send_keys(Keys.DOWN)

time.sleep(1)

element.send_keys(Keys.DOWN)

time.sleep(1)

element.send_keys(Keys.DOWN)

time.sleep(1)

driver.quit()

效果如下:

键盘点击向下按键4次。每次点击间隔一秒

输入按键是使用send_keys()方法。

回车键是Keys.RETURN,K是大写。

其他的特殊按键还有:

Keys.TAB

tab键

Keys.SHIFT

shift键

Keys.CONTROL

CTRL键

Keys.ALT

Keys.SPACE

Keys.PAGE_UP

Keys.PAGE_DOWN

Keys.UP

Keys.DOWN

Keys.LEFT

Keys.RIGHT

Keys.F1

Keys.F5

Keys.F12

Keys.COMMAND

见名知意,挺简单的,上面只列举一部分按钮的写法,要看全部的请看你selenium安装路径的里的***\selenium\webdriver\common的keys.py文件。

PS:看上面的向下按键是作用在body元素上的,动作要作用在正确的元素上,不然程序会报错,比如把向下按键作用在上面程序的input框上就会报错,因为input框又没法向下移动。比如向下,向上,CTRL+组合按键等等一般都作用在body元素上。

组合键的使用

上面举例了怎么操作键盘,只举例了单个按键的使用,还有经常使用CTRL+组合键的情况。再看演示程序,一看就明白。#coding=utf-8fromselenium importwebdriver

fromselenium.webdriver.common.keys importKeys

importtime

#打开Chrome浏览器driver = webdriver.Chrome(executable_path="D:/chromedriver/chromedriver.exe")

#打开PythonFree首页driver.get('https://www.pythonf.cn')

time.sleep(2)

element = driver.find_element_by_tag_name('body')

element.send_keys(Keys.CONTROL,'a')

效果如下:

上面是打开PythonFree网站后使用ctrl+a全选。

键入字符串

还有在输入框中输入字符串的情况,其实之前和上面的例子已经有了,还是使用send_keys()方法,参数传入字符串就好了,另外记住一点就是字符串要是unicode码的。

python 模拟键盘输入组合键_Python Selenium keys快捷键和键盘操作|send_keys输入按键,SHIFT,CTRL+组合键...相关推荐

  1. python接收键盘输入的值_Python代码中如何读取键盘录入的值

    读取键盘输入 Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: raw_input input raw_input函数 raw_input([prompt]) 函数从 ...

  2. python 模拟用户点击浏览器_python 模拟点击浏览器

    原标题:python 模拟点击浏览器 from selenium import webdriver #导入selenium的webdriver包,导入webdriver包后才能使用 webdriver ...

  3. python模拟一个简单的取款机_Python模拟自动存取款机的查询、存取款、修改密码等操作...

    1.工作流程 2.模拟自动存取款机的操作 代码如下: import msvcrt, sys, os #定义用星号隐藏密码输入的函数 def psw_input(): li = [] while Tru ...

  4. python模拟浏览器上传文件_Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)...

    http协议本身的原始方法不支持multipart/form-data请求,这个请求由原始方法演变而来的. multipart/form-data的基础方法是post,也就是说是由post方法来组合实 ...

  5. python从命令行获取参数_python从命令行获取参数操作

    python从命令行获取参数 一: 简单用法 从命令行获取参数两种方式: 1.通过sys.argv参数获取:代码如下: # -*- coding: utf-8 -*- import sys #获取输入 ...

  6. 【笔记】python的遍历字典:遍历所有键值对(方法items())、遍历字典中的所有键(方法keys())、按特定顺序遍历字典中的所有键、遍历字典中的所有值(方法values())、函数set()

    文章目录 一.python的遍历字典 二.遍历所有键值对(方法items()) 三.遍历字典中的所有键(方法keys()) 四.按特定顺序遍历字典中的所有键 五.遍历字典中的所有值(方法values( ...

  7. python字符串函数的find方法_Python string模块 字符串函数方法操作教程

    我们在Python编程过程中,经常会处理一些字符串的相关操作,例如:查找.替换.分隔.截取以及英文的大小写转换等,这个时候Python程序员首选的一定是 string模块 . 一.string模块简单 ...

  8. python 模拟用户点击浏览器_python爬虫之selenium模拟浏览器

    1.前言 之前在异步加载(AJAX)网页爬虫的时候提到过,爬取这种ajax技术的网页有两种办法:一种就是通过浏览器审查元素找到包含所需信息网页的真实地址,另一种就是通过selenium模拟浏览器的方法 ...

  9. python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作

    这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要 ...

  10. python 测试用例怎么输入两个_python selenium多个测试用例

    我有以下python代码from selenium import webdriver from selenium.webdriver.common.by import By from selenium ...

最新文章

  1. 【Qt】QTest:编译Qt单元测试程序
  2. python添加数组元素_Python列表附录–如何向数组添加元素,并附带示例说明
  3. “TypeError: list indices must be integers or slices, not str”有关报错解决方案
  4. python开发系统-python3+django2开发一个简单的人员管理系统
  5. [转]定位占用oracle数据库cpu过高的sql
  6. 平板电脑什么牌子好点_什么平板电脑充电柜好?
  7. K3 LEDE固件更改FRP客户端版本
  8. sonar 使用问题 Unable to load component class org.sonar.scanner.report.ActiveRulesPublisher
  9. Linux物理内存初始化
  10. mysql 将时间戳_mysql 将时间戳直接转换成日期时间
  11. Citrix XenAPP域迁移操作步骤
  12. 第六次作业阶段一 学生成绩录入系统设计与实现
  13. Linux内核分析与驱动编程-1
  14. 如何解决unity使用vs2017、vs2018、vs2019等 编辑器创建新项目时无法产生.sln文件的一个小办法
  15. go语言实现家庭收支记账本
  16. Windows-Exploit-Suggester
  17. 计算机网络 | 划分子网
  18. 国产手机厂商抢占高端,二手机市场不容忽视
  19. 联通电信校园促销加码 策略更隐蔽
  20. 华硕FL5600l拆机

热门文章

  1. java程序员推荐记笔记_推荐一款开源免费的笔记软件,也是程序员的好帮手
  2. 华为担纲建设基础软硬件国家新一代AI开放创新平台
  3. 认识 Iconfont 以及什么是 .eot、.woff、.ttf、.svg
  4. 安科瑞预付费水电集团物业解决方案-Susie 周
  5. TeamViewer和远程桌面冲突的问题
  6. Java实验报告误差分析怎么写_系统工程实验报告-031510131-郭文豪.doc
  7. 基于qt linux的视频监控,基于Qt和OpenCV的无线视频监控系统
  8. 【论文阅读】8-Non-local Scan Consolidation for 3D Urban Scenes
  9. hostapd_cli 使用手册
  10. [摘]广义企业级PDM系统下的PPM(工艺规划管理)