self.driver.press_keycode(84) 在appium程序中调出键盘点击搜索

① 目的

写appium自动化的时候遇到一个问题:手机本来的输入法无法使用了,也就不能点击搜索键了。实际上很多场合需要在输入中文后点击搜索键进行搜索,于是我又搜了使用了自动切换输入法的方法,成功解决了这个问题.

② 环境

Python+appium+真机

③思路

目前网上常见的解决方法是 在desired_caps 参数中添加:

caps["unicodeKeyboard"] = "True" #使用unicodeKeyboard的编码方式来发送字符串 
caps["resetKeyboard"] = "True"  #将键盘给隐藏起来

这样在使用 el2.send_keys(i)方法时就可以输入中文了
但后果是,手机本来的输入法无法使用了,也就不能点击搜索键了;实际上很多场合需要在输入中文后点击搜索键进行搜索,于是我又搜了使用了自动切换输入法的方法,成功解决了这个问题.

④解决问题

# 切换输入法 获取手机输入法命令:adb -s 10.10.10.252:5555 shell ime list -s
self.driver.activate_ime_engine('com.sohu.inputmethod.sogou.meizu/com.sohu.inputmethod.sogou.SogouIME')
# 点击文本框       
Elements.WebDriverWait_android_id_click(self,'com.leke.lekechat:id/et_bank_name')
# 两种搜索方法;84代表模拟按键搜索
# self.driver.press_keycode(84)
# 根据坐标点击'搜索'按钮
sleep(1)
TouchAction(self.driver).press(x=950, y=2004).release().perform()

白嫖不好,创作不易,各位的点赞就是创作的最大动力。 持续更新,未完待续……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值