Helium文档5-WebUI自动化-press模拟键盘按键输入技巧
前言
press方法是用来模拟键盘按键输入,可以组合使用,来模拟键盘输入,解决一些难定位的元素
入参介绍
以下是press源码中的函数介绍
def press(key): | |
:入参 | :param key: Key or combination of keys to be pressed. |
Presses the given key or key combination. To press a normal letter key such | |
as 'a' simply call `press` for it:: | |
举例 1 | press('a') |
You can also simulate the pressing of upper case characters that way:: | |
举例2 | press('A') |
The special keys you can press are those given by Selenium's class | |
:py:class:`selenium.webdriver.common.keys.Keys`. Helium makes all those keys | |
available through its namespace, so you can just use them without having to | |
refer to :py:class:`selenium.webdriver.common.keys.Keys`. For instance, to | |
press the Enter key:: | |
举例3 | press(ENTER) |
To press multiple keys at the same time, concatenate them with `+`. For | |
example, to press Control + a, call:: | |
举例4 | press(CONTROL + 'a') |
""" | |
_get_api_impl().press_impl(key) |
以下是所有的入参关键字:
NULL = Keys.NULL |
CANCEL = Keys.CANCEL |
HELP = Keys.HELP |
BACK_SPACE = Keys.BACK_SPACE |
TAB = Keys.TAB |
CLEAR = Keys.CLEAR |
RETURN = Keys.RETURN |
ENTER = Keys.ENTER |
SHIFT = Keys.SHIFT |
LEFT_SHIFT = Keys.LEFT_SHIFT |
CONTROL = Keys.CONTROL |
LEFT_CONTROL = Keys.LEFT_CONTROL |
ALT = Keys.ALT |
LEFT_ALT = Keys.LEFT_ALT |
PAUSE = Keys.PAUSE |
ESCAPE = Keys.ESCAPE |
SPACE = Keys.SPACE |
PAGE_UP = Keys.PAGE_UP |
PAGE_DOWN = Keys.PAGE_DOWN |
END = Keys.END |
HOME = Keys.HOME |
LEFT = Keys.LEFT |
ARROW_LEFT = Keys.ARROW_LEFT |
UP = Keys.UP |
ARROW_UP = Keys.ARROW_UP |
RIGHT = Keys.RIGHT |
ARROW_RIGHT = Keys.ARROW_RIGHT |
DOWN = Keys.DOWN |
ARROW_DOWN = Keys.ARROW_DOWN |
INSERT = Keys.INSERT |
DELETE = Keys.DELETE |
SEMICOLON = Keys.SEMICOLON |
EQUALS = Keys.EQUALS |
NUMPAD0 = Keys.NUMPAD0 |
NUMPAD1 = Keys.NUMPAD1 |
NUMPAD2 = Keys.NUMPAD2 |
NUMPAD3 = Keys.NUMPAD3 |
NUMPAD4 = Keys.NUMPAD4 |
NUMPAD5 = Keys.NUMPAD5 |
NUMPAD6 = Keys.NUMPAD6 |
NUMPAD7 = Keys.NUMPAD7 |
NUMPAD8 = Keys.NUMPAD8 |
NUMPAD9 = Keys.NUMPAD9 |
MULTIPLY = Keys.MULTIPLY |
ADD = Keys.ADD |
SEPARATOR = Keys.SEPARATOR |
SUBTRACT = Keys.SUBTRACT |
DECIMAL = Keys.DECIMAL |
DIVIDE = Keys.DIVIDE |
F1 = Keys.F1 |
F2 = Keys.F2 |
F3 = Keys.F3 |
F4 = Keys.F4 |
F5 = Keys.F5 |
F6 = Keys.F6 |
F7 = Keys.F7 |
F8 = Keys.F8 |
F9 = Keys.F9 |
F10 = Keys.F10 |
F11 = Keys.F11 |
F12 = Keys.F12 |
META = Keys.META |
COMMAND = Keys.COMMAND |
press案例分析
1、我们来介绍一下滚动页面的应用
代码:
start_chrome("https://www.icourse163.org/")
time.sleep(2)
wait_until(Text("学校").exists)
highlight(Text("学校"))
time.sleep(2)
click(Text("学校"))
press(END)
time.sleep(10)
kill_browser()
效果:
看到右侧滚动条已经滚动到最下方
2、利用TAB键切换位置
如下图,先定位“1”,press(TAB),跳转到“贴吧搜索”,press(TAB),跳转到“2”,press(TAB),跳转到“3”
Helium文档5-WebUI自动化-press模拟键盘按键输入技巧的更多相关文章
- UI自动化测试(四)AutoIT工具使用和robot对象模拟键盘按键操作
AutoIT简介 AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/ ...
- C#窗体模拟键盘按键(组合键)产生事件 ---- 通过keybd_event()函数
如何模拟键盘按键触发产生的事件,比如模拟按下Alt + F4 关闭当前程序,Ctrl+Shift 切换输入法等 可以通过win32api 键盘事件 keybd_event() 来实现 1.定义键盘按键 ...
- C#窗体如何通过keybd_event()函数模拟键盘按键(组合键)产生事件
如何模拟键盘按键触发产生的事件,比如模拟按下Alt + F4 关闭当前程序,Ctrl+Shift 切换输入法等 可以通过win32api 键盘事件 keybd_event() 来实现 1.定义键盘按键 ...
- C/C++使用keybd_event模拟键盘按键
#include <stdio.h> #include <Windows.h> /* 设置键盘大小写状态 big:为TRUE则切换大写状态,否则切换小写状态 */ VOID M ...
- golang实现模拟键盘按键
公司前段时间要我写个小项目需要可以局域网内一个ipad控制另一台pc上的键盘输入,github上找了找,居然有个robotgo库这么神级的存在,感觉go的库真是越来越多了,虽然大部分都是第三方的.ht ...
- Delphi定时模拟键盘按键例程
delphi模拟键盘按键实例delphi模拟键盘按键实例,只是模拟一个按键的例子而已.到一定时间按下模拟按下一个按键,delphi7编译通过. 10秒点击一下H键,其他键你们去找数值替换吧,网上大把的 ...
- Helium文档1-WebUI自动化-环境准备与入门
前言 Helium 是一款 Web 端自动化开源框架,全称是:Selenium-Python-Helium,从名字上就可以看出,Helium 似乎和 Selenium 息息相关,基于Selenium的 ...
- JS文档和Demo自动化生成工具 - SmartDoc发布
曾几何时,当你码神附体,一路披荆斩棘的完成代码后,带着“一码在手,天下我有”的傲然环顾之时,却发现单元测试.API文档.Demo实例陆续向你砸来,顿时有木有一种冰水挑战后的感觉.而这时你应该:哟哟,快 ...
- SpringBoot18 Swagger、API接口文档生成、WireMock、模拟后台数据
1 Swagger 1.1 简述 前后端分离的项目需要前后端开发人员协同工作,后台开发人员需要给到前端开发者一套API文档:利用Swagger可以简单高效的帮助后台开发者生成RestfulAPI开发文 ...
随机推荐
- DNS递归解析和迭代解析
DNS解析流程分为递归查询和迭代查询,递归查询是以本地名称服务器为中心查询, 递归查询是默认方式,迭代查询是以DNS客户端,也就是客户机器为中心查询.其实DNS客户端和本地名称服务器是递归,而本地名称 ...
- 《图解HTTP》学习笔记之入门
学习HTTP之前,很必要了解一下关于Web网络基础. TCP/IP协议族 1.应用层:应用层决定了向用户提供应用 服务时的通信活动,比如FTP(文件传输协议).DNS(域名系统).HTTP(超文本传输 ...
- 技术解析丨C++元编程之Parser Combinator
摘要:借助C++的constexpr能力,可以轻而易举的构造Parser Combinator,对用户定义的字符串(User defined literal)释放了巨大的潜力. ## 引子 前不久在C ...
- odoo13之在odoo中添加自定义页面
注: 本博文是阅读Ruter博客 在odoo中添加自定义页面 后所做的个人总结,以及博文搬迁,主要是便于自己的后期理解:大部分内容为搬运,当然也包括自己的一些总结和流程优化. 前言 首先展示效果:进入 ...
- 被产品经理怼了,线上出Bug为啥你不知道
前言 前几天跟读者聊天,他说被产品经理给怼了.原因是线上出 Bug 了,最后是客户反馈才知道的. 我就问他:你们是不是没做监控? 读者:我们是刚成立的创业团队,目前最重要的就是堆功能,很多基础设施都没 ...
- Powershell编程基础-003-脚本的绝对路径及所在的目录
在运行脚本的时候,有时候需要通过脚本文件所在目录路径来做一些事, 如脚本5201351.ps1脚本, 常规思路实现>>>>: 1.如果要获取这个脚本所在的绝对路径,可以使用内置 ...
- JVM的整体结构
整个jvm的运行流程图如上所示,首先需要进行加载class文件,然后使用类加载子系统将class翻译解析导入内存,在内存中分别导入到对应的运行时数据区,然后执行引擎开始执行,对于需要的数据在对应的区域 ...
- 吴恩达Machine Learning学习笔记(三)--逻辑回归+正则化
分类任务 原始方法:通过将线性回归的输出映射到0-1,设定阈值来实现分类任务 改进方法:原始方法的效果在实际应用中表现不好,因为分类任务通常不是线性函数,因此提出了逻辑回归 逻辑回归 假设表示--引入 ...
- 微信小程序 A~Z城市选择器js文件
微信小程序城市选择 [a~z] 的所有城市选择 city.js a~z排序的城市数据 addressChoose.js 其他js文件可引用 city.js /** * Created by yvded ...
- python-代数式括号有效性检验
思路: 利用栈实现代数式中括号有效行的的检验: 代码: class mychain(object): #利用链表建立栈,链表为父类 length=0 def __init__(self,value=N ...