利用adb解决python+appium无法调出虚拟键盘的问题

问题

如图,app搜索框旁没有搜索按钮,输入完搜索内容后,无法通过点击按钮进行搜索。百度查询最多的答案都是通过driver.keyevent(keycode)模拟键盘事件,搜索和回车键分别为84和66,但是实际运行代码,发现仍然无法进行搜索。又查了很多帖子资料,发现可能通过adb指令切换输入法,然后通过调起输入法再模拟键盘事件,然后尝试了一下,该问题已解决。

KEYCODE_ENTER 回车键 66
KEYCODE_SEARCH 搜索键 84

在这里插入图片描述

解决

我是使用模拟器进行调试的,下列步骤以模拟器为准

  1. 先给模拟器安装输入法,我是安装的搜狗输入法

  2. 使用“adb shell ime set com.sohu.inputmethod.sogou/.SogouIME”指令查看设备的输入法,如图一个是设备自带的输入法,一个是搜狗输入法,一个是appium的输入法

  3. 利用os库在代码中使用adb指令

      os.system('adb shell ime set com.sohu.inputmethod.sogou/.SogouIME')   #切换输入法为搜狗输入法
      self.driver.keyevent(66)  #触发键盘的回车事件
      os.system('adb shell ime set io.appium.android.ime/.UnicodeIME') #切换回appium输入法
    

总结

appium自带的输入法没有GUI界面,所以无法触发“回车”事件,导致在没有按钮的情况下无法搜索。解决思路就是切换输入法达到调起键盘的目的,触发“回车”事件后再切换回appium输入法

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值