问题

用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模拟安卓手机输入法搜索或回车按钮相关推荐

  1. android默认百度输入法,安卓手机输入法怎么设置 安卓手机输入法设置正确步骤...

    很多安卓手机用户都用不习惯手机自带的输入法,因此,很多网友都会下载 百度输入法 . 搜狗输入法 来使用.不过,很多网友把输入法安装到安卓手机之后.并不能顺利使用,这是怎么回事呢?下面,就一起来学习一下 ...

  2. 模拟位置信息应用-Fake Location模拟安卓手机定位

    在移动端测试中有时会遇到需要模拟当前定位的场景,可以用模拟位置工具来改变定位,应用于工作场景. 一.下载与安装 Fake Location软件,下载链接:http://apps.lerist.cc:8 ...

  3. 模拟位置信息应用-Fake Location模拟安卓手机定位-上

    在移动端测试中有时会遇到需要模拟当前定位的场景,可以用模拟位置工具来改变定位,应用于工作场景. 一.下载与安装 Fake Location软件,下载链接:http://apps.lerist.cc:8 ...

  4. python模拟安卓手机点击,支付宝打年兽,未完待续

    环境 windows 10,python3,adb import subprocess import time # 试试中文变量名# 变量 adb_help = 'adb help' adb_conn ...

  5. 移动端测试中使用Fake Location模拟安卓手机定位-中

    三.模拟位置 回到app中,就可以开始模拟位置了,点击加号,一般选择"选择位置"即可:需要开启定位权限; 在地图上直接点击选点,比如我选了望京西园:点击启动模拟: 下面两个选项建议 ...

  6. 移动端测试中使用Fake Location模拟安卓手机定位-下

    至此,完成了位置模拟操作:可以打开app验证一下:模拟位置成功. 不用时,把开发者选项里面的"选择模拟位置信息应用"设置为无,否则有可能影响正常使用. 此软件的专业版有更多的功能: ...

  7. input绑定手机虚拟键盘的回车按钮触发事件

    $("#keyword").on('keypress', function(e) { //#keyword为input文本框var keycode = e.keyCode;var ...

  8. 如何在Mac上玩安卓手游(支持各大安卓手机游戏数据同步)

    很多小伙伴由于手机的型号不同,各大厂商的游戏端不同,导致在助手上下载的游戏不支持自己原来手机的里游戏资料.下面跟随小编来帮助你解决这个烦恼 首先我们需要借助腾讯手游助手 for mac版 腾讯手游助手 ...

  9. adb模拟打开手机最近任务按键

    //返回按钮adb shell input keyevent 4//按键home adb shell input keyevent 3 //多任务按键 adb shell input keyevent ...

最新文章

  1. 东南大学 | 12年,热爱始终如一
  2. Android性能优化常见问题,附架构师必备技术详解
  3. 【计算机网络】应用层 : 万维网 和 HTTP 协议 ( 万维网概述 | HTTP 协议特点 | HTTP 协议连接方式 | HTTP 协议报文结构 | HTTP 请求报文 | HTTP 响应报文 )
  4. bde oracle 商友的流程_BorlandC++使用BDE访问Oracle方法
  5. android模拟器上安装/卸载app
  6. 银行家舍入VS四舍五入(下):.NET发现之旅(四)
  7. ASP.NET 2.0个性化配置(profile)
  8. 深入框架本源系列 —— Virtual Dom
  9. python_L2_operator
  10. 计算机网络之数据链路层:6、后退N帧协议(GBN)
  11. Xen虚拟机两大迁移方法详解
  12. 控制反转(IOC)入门
  13. VTD的官方help翻译-ROD部分(5~9章)
  14. 暑假第一战——java+mysql 个人信息管理系统
  15. Pda 数据库同步问题
  16. macOS 安卓模拟器 Nox夜神模拟器 共享目录
  17. Hibernate——缓存
  18. 二元线性方程组与二阶行列式
  19. 一文获取36个Python开源项目,平均Star 1667,精选自5000个项目
  20. Python利用bs4批量抓取网页图片并下载保存至本地

热门文章

  1. angular ngzorro 表格用自定义指令实现自由缩放列宽
  2. 【诗词歌赋】 杂感- 贺小妹
  3. 基于javaweb+SSM甜品冰淇淋奶茶店网上订餐系统(前台、后台)
  4. Word、WPS中表格的第一行和第二行中间间距,如何去掉,使得跟其他行间距相同
  5. c++string截取字符串
  6. python图形化编辑word_python 将excel获取的图表直接写入WORD,修改为上下型环绕
  7. 安卓触摸事件分发流程图
  8. vue 中动态绑定class 和 style的方法
  9. 西南证券一直显示切换服务器,西南证券:近期一直在做平台,后续突破概率较大...
  10. 【深度学习】语义分割:论文阅读(NeurIPS 2021)MaskFormer: per-pixel classification is not all you need