appium模拟安卓手机输入法搜索或回车按钮
问题
用appiun控制安卓手机app应用爬取数据时,有些应用的搜索框是不提供搜索按钮的,只能靠输入法的回车键或者搜索键触发搜索,但是手机被appium控制后,一般键盘输入框是无法弹出的,也就无法模拟手机输入法键盘的回车键或者搜索键触发搜索了
解决
这种问题确实是可以靠appium模拟安卓手机输入法搜索或回车按钮触发搜索,参考下面代码即可实现
import os# 小米手机自带的搜狗输入法
sougou_xiaomi = 'adb shell ime set com.sohu.inputmethod.sogou.xiaomi/.SogouIME'
# 自己重新下载的搜狗输入法
sougou = 'adb shell ime set com.sohu.inputmethod.sogou/.SogouIME'
# appium默认输入法
appium = 'adb shell ime set io.appium.settings/.UnicodeIME'# 通过os包切换系统输入法为自己重新下载的搜狗输入法
os.system(sougou)
# 暂停2秒
time.sleep(2)
# appium模拟搜狗输入法的搜索键 66表示是搜索键的物理兼键值
driver.press_keycode(66)
# 暂停2秒
time.sleep(2)
# 通过os包切换回appium默认输入法
os.system(appium)
上面提到的输入框无法弹出的问题,其实就是因为如果是手机自带的输入法的话,会触发失败,所以只能再下载一个输入法,这样就解决了问题。另外,如何在手机键盘输入框能正常弹出但无法实现搜索功能时,可以换driver.press_keycode(66)中的键值,或者使用driver.keyevent()试试
关于键的物理值与对应的的键值,可以参考下面的链接
Android 键盘键名和键值列表
appium模拟安卓手机输入法搜索或回车按钮相关推荐
- android默认百度输入法,安卓手机输入法怎么设置 安卓手机输入法设置正确步骤...
很多安卓手机用户都用不习惯手机自带的输入法,因此,很多网友都会下载 百度输入法 . 搜狗输入法 来使用.不过,很多网友把输入法安装到安卓手机之后.并不能顺利使用,这是怎么回事呢?下面,就一起来学习一下 ...
- 模拟位置信息应用-Fake Location模拟安卓手机定位
在移动端测试中有时会遇到需要模拟当前定位的场景,可以用模拟位置工具来改变定位,应用于工作场景. 一.下载与安装 Fake Location软件,下载链接:http://apps.lerist.cc:8 ...
- 模拟位置信息应用-Fake Location模拟安卓手机定位-上
在移动端测试中有时会遇到需要模拟当前定位的场景,可以用模拟位置工具来改变定位,应用于工作场景. 一.下载与安装 Fake Location软件,下载链接:http://apps.lerist.cc:8 ...
- python模拟安卓手机点击,支付宝打年兽,未完待续
环境 windows 10,python3,adb import subprocess import time # 试试中文变量名# 变量 adb_help = 'adb help' adb_conn ...
- 移动端测试中使用Fake Location模拟安卓手机定位-中
三.模拟位置 回到app中,就可以开始模拟位置了,点击加号,一般选择"选择位置"即可:需要开启定位权限; 在地图上直接点击选点,比如我选了望京西园:点击启动模拟: 下面两个选项建议 ...
- 移动端测试中使用Fake Location模拟安卓手机定位-下
至此,完成了位置模拟操作:可以打开app验证一下:模拟位置成功. 不用时,把开发者选项里面的"选择模拟位置信息应用"设置为无,否则有可能影响正常使用. 此软件的专业版有更多的功能: ...
- input绑定手机虚拟键盘的回车按钮触发事件
$("#keyword").on('keypress', function(e) { //#keyword为input文本框var keycode = e.keyCode;var ...
- 如何在Mac上玩安卓手游(支持各大安卓手机游戏数据同步)
很多小伙伴由于手机的型号不同,各大厂商的游戏端不同,导致在助手上下载的游戏不支持自己原来手机的里游戏资料.下面跟随小编来帮助你解决这个烦恼 首先我们需要借助腾讯手游助手 for mac版 腾讯手游助手 ...
- adb模拟打开手机最近任务按键
//返回按钮adb shell input keyevent 4//按键home adb shell input keyevent 3 //多任务按键 adb shell input keyevent ...
最新文章
- 东南大学 | 12年,热爱始终如一
- Android性能优化常见问题,附架构师必备技术详解
- 【计算机网络】应用层 : 万维网 和 HTTP 协议 ( 万维网概述 | HTTP 协议特点 | HTTP 协议连接方式 | HTTP 协议报文结构 | HTTP 请求报文 | HTTP 响应报文 )
- bde oracle 商友的流程_BorlandC++使用BDE访问Oracle方法
- android模拟器上安装/卸载app
- 银行家舍入VS四舍五入(下):.NET发现之旅(四)
- ASP.NET 2.0个性化配置(profile)
- 深入框架本源系列 —— Virtual Dom
- python_L2_operator
- 计算机网络之数据链路层:6、后退N帧协议(GBN)
- Xen虚拟机两大迁移方法详解
- 控制反转(IOC)入门
- VTD的官方help翻译-ROD部分(5~9章)
- 暑假第一战——java+mysql 个人信息管理系统
- Pda 数据库同步问题
- macOS 安卓模拟器 Nox夜神模拟器 共享目录
- Hibernate——缓存
- 二元线性方程组与二阶行列式
- 一文获取36个Python开源项目,平均Star 1667,精选自5000个项目
- Python利用bs4批量抓取网页图片并下载保存至本地
热门文章
- angular ngzorro 表格用自定义指令实现自由缩放列宽
- 【诗词歌赋】 杂感- 贺小妹
- 基于javaweb+SSM甜品冰淇淋奶茶店网上订餐系统(前台、后台)
- Word、WPS中表格的第一行和第二行中间间距,如何去掉,使得跟其他行间距相同
- c++string截取字符串
- python图形化编辑word_python 将excel获取的图表直接写入WORD,修改为上下型环绕
- 安卓触摸事件分发流程图
- vue 中动态绑定class 和 style的方法
- 西南证券一直显示切换服务器,西南证券:近期一直在做平台,后续突破概率较大...
- 【深度学习】语义分割:论文阅读(NeurIPS 2021)MaskFormer: per-pixel classification is not all you need