appium模拟键盘事件
原方法:
1 def press_keycode(self, keycode, metastate=None):
2 """Sends a keycode to the device. Android only. Possible keycodes can be
3 found in http://developer.android.com/reference/android/view/KeyEvent.html.
4 :Args:
5 - keycode - the keycode to be sent to the device
6 - metastate - meta information about the keycode being sent
7 """
8 data = {
9 'keycode': keycode,
10 }
11 if metastate is not None:
12 data['metastate'] = metastate
13 self.execute(Command.PRESS_KEYCODE, data)
14 return self
调用:
self.driver.press_keycode('66') #回车键
appium模拟键盘事件的全部对照表:
| 输入值 | 功能名 | keycode |
|---|---|---|
| 电话键 | ||
| KEYCODE_CALL | 拨号键 | 5 |
| KEYCODE_ENDCALL | 挂机键 | 6 |
| KEYCODE_HOME | 按键Home | 3 |
| KEYCODE_MENU | 菜单键 | 82 |
| KEYCODE_BACK | 返回键 | 4 |
| KEYCODE_SEARCH | 搜索键 | 84 |
| KEYCODE_CAMERA | 拍照键 | 27 |
| KEYCODE_FOCUS | 拍照对焦键 | 80 |
| KEYCODE_POWER | 电源键 | 26 |
| KEYCODE_NOTIFICATION | 通知键 | 83 |
| KEYCODE_MUTE | 话筒静音键 | 91 |
| KEYCODE_VOLUME_MUTE | 扬声器静音键 | 164 |
| KEYCODE_VOLUME_UP | 音量增加键 | 24 |
| KEYCODE_VOLUME_DOWN | 音量减小键 | 25 |
| 控制键 | ||
| KEYCODE_ENTER | 回车键 | 66 |
| KEYCODE_ESCAPE | ESC键 | 111 |
| KEYCODE_DPAD_CENTER | 导航键确定键 | 23 |
| KEYCODE_DPAD_UP | 导航键向上 | 19 |
| KEYCODE_DPAD_DOWN | 导航键向下 | 20 |
| KEYCODE_DPAD_LEFT | 导航键向左 | 21 |
| KEYCODE_DPAD_RIGHT | 导航键向右 | 22 |
| KEYCODE_MOVE_HOME | 光标移动到开始键 | 122 |
| KEYCODE_MOVE_END | 光标移动到末尾键 | 123 |
| KEYCODE_PAGE_UP | 向上翻页键 | 92 |
| KEYCODE_PAGE_DOWN | 向下翻页键 | 93 |
| KEYCODE_DEL | 退格键 | 67 |
| KEYCODE_FORWARD_DEL | 删除键 | 112 |
| KEYCODE_INSERT | 插入键 | 124 |
| KEYCODE_TAB | Tab键 | 61 |
| KEYCODE_NUM_LOCK | 小键盘锁 | 143 |
| KEYCODE_CAPS_LOCK | 大写锁定键 | 115 |
| KEYCODE_BREAK | Break/Pause键 | 121 |
| KEYCODE_SCROLL_LOCK | 滚动锁定键 | 116 |
| KEYCODE_ZOOM_IN | 放大键 | 168 |
| KEYCODE_ZOOM_OUT | 缩小键 | 169 |
| 组合键 | ||
| KEYCODE_ALT_LEFT | Alt+Left | |
| KEYCODE_ALT_RIGHT | Alt+Right | |
| KEYCODE_CTRL_LEFT | Control+Left | |
| KEYCODE_CTRL_RIGHT | Control+Right | |
| KEYCODE_SHIFT_LEFT | Shift+Left | |
| KEYCODE_SHIFT_RIGHT | Shift+Right | |
| 基本 | ||
| KEYCODE_0 | 按键’0’ | 7 |
| KEYCODE_1 | 按键’1’ | 8 |
| KEYCODE_2 | 按键’2’ | 9 |
| KEYCODE_3 | 按键’3’ | 10 |
| KEYCODE_4 | 按键’4’ | 11 |
| KEYCODE_5 | 按键’5’ | 12 |
| KEYCODE_6 | 按键’6’ | 13 |
| KEYCODE_7 | 按键’7’ | 14 |
| KEYCODE_8 | 按键’8’ | 15 |
| KEYCODE_9 | 按键’9’ | 16 |
| KEYCODE_A | 按键’A’ | 29 |
| KEYCODE_B | 按键’B’ | 30 |
| KEYCODE_C | 按键’C’ | 31 |
| KEYCODE_D | 按键’D’ | 32 |
| KEYCODE_E | 按键’E’ | 33 |
| KEYCODE_F | 按键’F’ | 34 |
| KEYCODE_G | 按键’G’ | 35 |
| KEYCODE_H | 按键’H’ | 36 |
| KEYCODE_I | 按键’I’ | 37 |
| KEYCODE_J | 按键’J’ | 38 |
| KEYCODE_K | 按键’K’ | 39 |
| KEYCODE_L | 按键’L’ | 40 |
| KEYCODE_M | 按键’M’ | 41 |
| KEYCODE_N | 按键’N’ | 42 |
| KEYCODE_O | 按键’O’ | 43 |
| KEYCODE_P | 按键’P’ | 44 |
| KEYCODE_Q | 按键’Q’ | 45 |
| KEYCODE_R | 按键’R’ | 46 |
| KEYCODE_S | 按键’S’ | 47 |
| KEYCODE_T | 按键’T’ | 48 |
| KEYCODE_U | 按键’U’ | 49 |
| KEYCODE_V | 按键’V’ | 50 |
| KEYCODE_W | 按键’W’ | 51 |
| KEYCODE_X | 按键’X’ | 52 |
| KEYCODE_Y | 按键’Y’ | 53 |
| KEYCODE_Z | 按键’Z’ | 54 |
appium模拟键盘事件的更多相关文章
- JS模拟键盘事件 -- 原理及小例子
提问: 键盘默认事件,比如tab切换,alt+f4关闭,ctrl+t新建等,如果不想通过键盘而是一些按钮点击来触发这些功能,该咋办呢? 例子: 先以tab为例上一个小例子: <!DOCTYPE ...
- JavaScript 模拟键盘事件
JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等) 2016年09月08日 15:23:25 神秘_博士 阅读数:41158 标签: javascript鼠标键盘事件模拟更多 个人分类 ...
- selenium 模拟键盘事件 复制粘贴、右键、回车等
#coding=utf-8 ''' selenium ''' from selenium import webdriver as wd import time bc=wd.Chrome(executa ...
- 初识 jquery.simulate.js 模拟键盘事件
用jquery 和 jquery.simulate.js 实现模拟键盘事件,点击上下左右div相当于点击键盘的上下左右键 <!DOCTYPE html> <html> < ...
- 使用jquery模拟键盘事件,但window系统并不会真的响应事件,只是浏览器当前页面会响应而已
<!DOCTYPE html> <html> <head> <title>Demo</title> <meta http-equiv= ...
- C#模拟键盘事件
public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("USER3 ...
- JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等)
http://blog.csdn.net/lovelyelfpop/article/details/52471878# 封装好的function大概就是这样: function fireKeyEven ...
- js模拟键盘事件
<!DOCTYPE html> <html> <head lang="zh-CN"> <meta charset="UTF-8& ...
- JS全屏事件 模拟键盘事件F11 兼容IE
方法1: // 全屏 //el为全屏对象 fullScreen(el) { var rfs = el.requestFullScreen || el.webkitRequestFullScreen | ...
- 由chrome剪贴板问题研究到了js模拟鼠标键盘事件
写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.cli ...
随机推荐
- HTML——input标签
很多表单元素都是由一个个的 input 元素组成的.它是自闭合标签,根据其 type 属性值的不同分为很多种,例如单行文本框.密码框.单选按钮.复选框.隐藏域.文件上传域.普通按钮.提交按钮以及重置按 ...
- C#命令行参数解析库System.CommandLine介绍
命令行参数 平常在日常的开发过程中,会经常用到命令行工具.如cmd下的各种命令. 以下为sc命令执行后的截图,可以看到,由于没有输入任何附带参数,所以程序并未执行任何操作,只是输出了描述和用法. 系统 ...
- 【昇腾开发全流程】AscendCL开发板模型推理
前言 学会如何安装配置华为云ModelArts.开发板Atlas 200I DK A2. 并打通一个Ascend910训练到Ascend310推理的全流程思路. 在本篇章,我们继续进入推理阶段! 推理 ...
- 『手撕Vue-CLI』拷贝模板
开篇 经过上篇文章的介绍,实现了可以根据用户选择的模板名称加上对应的版本号,可以下载对应的模板,并且将下载之后的文件存放在用户目录下的 .nue-template文件夹中. 接下来这篇文章主要实现内容 ...
- react 样式继承 属性传递
# 样式 import styled from 'styled-components' const Button = styled.button` font-size: 20px; border: 1 ...
- 【Java面试题-基础知识02】Java抽象类和接口六连问?
1.抽象类和接口分别是什么? 抽象类是一种类,可以包含抽象方法和非抽象方法,抽象方法是没有具体实现的方法,需要在子类中被具体实现. 接口是一种完全抽象的类,其中的所有方法都是抽象方法,没有方法体,它只 ...
- sshd服务部署
sshd服务部署 软件安装修改配置文件启动使用 1.搭建所有服务的套路 关闭防火墙和selinux(实验环境都先关闭掉) 配置yum源(公网源或者本地源) 软件安装和检查 了解并修改配置文件 启动服 ...
- Vue学习:15.组件化开发
组件化开发 组件化开发是一种软件开发方法,它将应用程序拆分成独立的.可重用的模块,每个模块都被称为组件.这些组件可以独立开发.测试.维护和部署,从而提高了代码的可维护性.可扩展性和复用性.在前端开发中 ...
- 欢迎 Stable Diffusion 3 加入 🧨 Diffusers
作为 Stability AI 的 Stable Diffusion 家族最新的模型,Stable Diffusion 3 (SD3) 现已登陆 Hugging Face Hub,并且可用在 Diff ...
- Linux 内核:利用of_函数读取设备树结点/属性信息
Linux 内核:利用of_函数读取设备树结点/属性信息 背景 设备树描述了设备的详细信息,这些信息包括数字类型的.字符串类型的.数组类型的,我们在编写驱动的时候需要获取到这些信息. Linux 内核 ...