在使用appium自动化测试或者爬虫过程中,经常回遇见需要键入中文的情况,但是目前appium不支持直接键入中文.
目前网上常见的解决方法是 在desired_caps 参数中添加
caps["unicodeKeyboard"] = "True" #使用unicodeKeyboard的编码方式来发送字符串 caps["resetKeyboard"] = "True" #将键盘给隐藏起来
这样在使用 el2.send_keys(i)方法时就可以输入中文了
但后果是,手机本来的输入法无法使用了,也就不能点击搜索键了;实际上很多场合需要在输入中文后点击搜索键进行搜索,于是我又搜了使用了自动切换输入法的方法,成功解决了这个问题.
C:\Users\happy>adb shell ime list -s #查看手机所有输入法
driver.activate_ime_engine('io.appium.android.ime/.UnicodeIME') #切换到appium输入法,此时可以键入中文
driver.activate_ime_engine('com.sohu.inputmethod.sogou.chuizi/.SogouIME') #切换回手机自带输入法,调出键盘,点击搜索