前言

接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作

keyevent

1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两个方法都能实现back键。打开cmd输入指令

# 方法一:
> adb shell input keyevent KEYCODE_BACK # 方法二:
> adb shell input keyevent 4

2.常用的keyevent事件

  • 解锁(KEYCODE_NOTIFICATION): adb shell input keyevent 83

  • 向上(KEYCODE_DPAD_UP):adb shell input keyevent 19

  • 向下(KEYCODE_DPAD_DOWN):adb shell input keyevent 20

  • 向左(KEYCODE_DPAD_LEFT):adb shell input keyevent 21

  • 向右(KEYCODE_DPAD_RIGHT):adb shell input keyevent 22

keyevent事件对应数字

0 –> “KEYCODE_UNKNOWN”

1 –> “KEYCODE_MENU”

2 –> “KEYCODE_SOFT_RIGHT”

3 –> “KEYCODE_HOME”

4 –> “KEYCODE_BACK”

5 –> “KEYCODE_CALL”

6 –> “KEYCODE_ENDCALL”

7 –> “KEYCODE_0”

8 –> “KEYCODE_1”

9 –> “KEYCODE_2”

10 –> “KEYCODE_3”

11 –> “KEYCODE_4”

12 –> “KEYCODE_5”

13 –> “KEYCODE_6”

14 –> “KEYCODE_7”

15 –> “KEYCODE_8”

16 –> “KEYCODE_9”

17 –> “KEYCODE_STAR”

18 –> “KEYCODE_POUND”

19 –> “KEYCODE_DPAD_UP”

20 –> “KEYCODE_DPAD_DOWN”

21 –> “KEYCODE_DPAD_LEFT”

22 –> “KEYCODE_DPAD_RIGHT”

23 –> “KEYCODE_DPAD_CENTER”

24 –> “KEYCODE_VOLUME_UP”

25 –> “KEYCODE_VOLUME_DOWN”

26 –> “KEYCODE_POWER”

27 –> “KEYCODE_CAMERA”

28 –> “KEYCODE_CLEAR”

29 –> “KEYCODE_A”

30 –> “KEYCODE_B”

31 –> “KEYCODE_C”

32 –> “KEYCODE_D”

33 –> “KEYCODE_E”

34 –> “KEYCODE_F”

35 –> “KEYCODE_G”

36 –> “KEYCODE_H”

37 –> “KEYCODE_I”

38 –> “KEYCODE_J”

39 –> “KEYCODE_K”

40 –> “KEYCODE_L”

41 –> “KEYCODE_M”

42 –> “KEYCODE_N”

43 –> “KEYCODE_O”

44 –> “KEYCODE_P”

45 –> “KEYCODE_Q”

46 –> “KEYCODE_R”

47 –> “KEYCODE_S”

48 –> “KEYCODE_T”

49 –> “KEYCODE_U”

50 –> “KEYCODE_V”

51 –> “KEYCODE_W”

52 –> “KEYCODE_X”

53 –> “KEYCODE_Y”

54 –> “KEYCODE_Z”

55 –> “KEYCODE_COMMA”

56 –> “KEYCODE_PERIOD”

57 –> “KEYCODE_ALT_LEFT”

58 –> “KEYCODE_ALT_RIGHT”

59 –> “KEYCODE_SHIFT_LEFT”

60 –> “KEYCODE_SHIFT_RIGHT”

61 –> “KEYCODE_TAB”

62 –> “KEYCODE_SPACE”

63 –> “KEYCODE_SYM”

64 –> “KEYCODE_EXPLORER”

65 –> “KEYCODE_ENVELOPE”

66 –> “KEYCODE_ENTER”

67 –> “KEYCODE_DEL”

68 –> “KEYCODE_GRAVE”

69 –> “KEYCODE_MINUS”

70 –> “KEYCODE_EQUALS”

71 –> “KEYCODE_LEFT_BRACKET”

72 –> “KEYCODE_RIGHT_BRACKET”

73 –> “KEYCODE_BACKSLASH”

74 –> “KEYCODE_SEMICOLON”

75 –> “KEYCODE_APOSTROPHE”

76 –> “KEYCODE_SLASH”

77 –> “KEYCODE_AT”

78 –> “KEYCODE_NUM”

79 –> “KEYCODE_HEADSETHOOK”

80 –> “KEYCODE_FOCUS”

81 –> “KEYCODE_PLUS”

82 –> “KEYCODE_MENU”

83 –> “KEYCODE_NOTIFICATION”

84 –> “KEYCODE_SEARCH”

85 –> “TAG_LAST_KEYCODE”

封装keyevent事件

text输入文本

1.adb也可以输入文本

adb shell input text yoyoketang

注意:中文是没法输入的,比如:上海-悠悠

在学习过程中有遇到疑问的,可以appium+python QQ群交流:330467341

appium+python自动化38-adb shell按键操作(input keyevent)的更多相关文章

  1. appium+python自动化-adb shell按键操作(input keyevent)

    前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两 ...

  2. adb shell按键操作(input keyevent)

    前言:input keyeven操作发送手机上常用的一些按键操作 一.keyevent事件对应数字 电话键 KEYCODE_CALL: 拨号键 KEYCODE_ENDCALL: 挂机键 KEYCODE ...

  3. appium+python自动化 adb shell按键操作

    前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两 ...

  4. appium+python自动化-微信公众号webview操作

    前言 上一篇已经解决切换到微信公众号的webview上了,但是定位webview上元素的时候一直提示找不到,打印page_source也找不到页面上的元素,这个问题困扰了一整天,还好最后找到了原因, ...

  5. appium+python自动化-adb shell模拟点击事件(input tap)

    前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...

  6. appium+python自动化37-adb shell模拟点击事件(input tap)

    前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...

  7. Appium+python自动化8-Appium Python API

    Appium+python自动化8-AppiumPython API   前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts conte ...

  8. appium+python自动化61-中文输入乱码问题解决

    前言 在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决. 打开手机设置语言和输入法,发现找不到Appium And ...

  9. appium+python自动化52-多点触控MultiAction

    前言 MultiAction是针对多点触控操作的,是TouchAction的一个补充模块 TouchAction用法参考前面的一篇:appium+python自动化33-TouchAction 多点触 ...

随机推荐

  1. python函数def

    #函数就是实现一个特定功能的程序块 #下面这个函数实现了打印helloworld的功能 def print_hello(): print('hello world!') #这是调用方法 print_h ...

  2. eclipse集成svn后总是弹出 Password Required问题解决方法

    最近在集成svn后,在打开eclipse后总是一遍遍的弹出 Password Required,即使输入正确的用户名以及密码也会弹出,最后发现是eclipse的Network  Connections ...

  3. anu - reactIE

    import { options } from "./util"; import { Children } from "./Children"; import ...

  4. 给hackrf加上1602LCD以及UART(附带固件编译方法)

    代码库(在hackrf原代码库基础上只添了两个文件,改了一个文件): https://github.com/JiaoXianjun/hackrf-UART-1602LCD 目的主要是为了帮助想更改调试 ...

  5. django2 删除图片或其他

    首先从数据库中获取图片的名称,然后拼接图片的物理地址,最后就是删除. # 物理删除图片 d = os.path.dirname(os.path.dirname(os.path.abspath(__fi ...

  6. Hashtable实现原理及源码分析

    Hashtable简介 和HashMap一样,Hashtable也是一个散列表,存储的内容是键值对(key-value)映射. Hashtable在Java中的定义为: public class Ha ...

  7. OC基础:Date 分类: ios学习 OC 2015-06-22 19:16 158人阅读 评论(0) 收藏

    NSDate  日期类,继承自NSObject,代表一个时间点 NSDate *date=[NSDate date]; NSLog(@"%@",date);   //格林尼治时间, ...

  8. [LeetCode&Python] Problem 693. Binary Number with Alternating Bits

    Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will a ...

  9. [HRBUST-1688]数论中的异或(思维题)

    数论中的异或 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 75(41 users) Total Accepted: 35(30 us ...

  10. 古典、SOA、传统、K8S、ServiceMesh

    古典.SOA.传统.K8S.ServiceMesh 十几年前就有一些公司开始践行服务拆分以及SOA,六年前有了微服务的概念,于是大家开始思考SOA和微服务的关系和区别.最近三年Spring Cloud ...