App - Appium系统Keyevent详解
1.keyevent()键盘事件
只限于安卓设备使用。
from appium import webdriver import time desired_caps={ "platformName": "Android", #测试版本(IOS/Android) "deviceName": "d86c1f1f", #手机设备名称,通过adb devices查看 96a97b9f "appPackage": "com.yxy91.creativecat.beta", #apk包名 "appActivity": "com.doutuimao.micro_script.MainActivity", #apk的launcherActivity "noReset": True, #不清空数据 "unicodeKeyboard": True, # 使用Unicode编码方式发送字符串 "resetKeyboard": True # 键盘隐藏起来 } server='http://localhost:4723/wd/hub' #127.0.0.1:4723/wb/hub:本地地址+appium端口号;appium端口号可以改变 driver=webdriver.Remote(server,desired_caps) driver.find_element_by_accessibility_id("首页").click() driver.keyevent(67) #退格键 #通过keyevent()输入之前,先通过click()点击要输入的控件。而且它每次只能输入一个字符
2.其他操作:
''' 下面提供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 '''
3.也可以将常用的封装起来
import os # -*- encoding: utf-8 -*- class System_Keyevent(object): ''' 常用的系统按键 ''' KEYCODE_BACK = 4 # 返回键 KEYCODE_HOME = 3 # home KEYCODE_POWER = 26 # 电源键 KEYCODE_FORWARD_DEL = 112 # 删除键 KEYCODE_DPAD_UP = 19 # 向上 KEYCODE_VOLUME_UP =24 #音量增加键 KEYCODE_VOLUME_DOWN = 25 #音量减小键 KEYCODE_ENTER = 66 #回车键66 def adbkeyevent(self,keyevent): ''' :param keyevent: |返回键 = 4 |home键 = 3 |电源键 = 26 |删除键 = 112 |向上 = 19 :return: ''' adb='adb shell input keyevent %s'%keyevent os.popen(adb) if __name__ == '__main__': adb = System_Keyevent() adb.adbkeyevent(3)
作者:小林同学_Scorpio
本博客所有文章仅用于学习、分享和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数,做笔记。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!
分类:
APP Appium
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库