appium+python自動化61-中文輸入亂碼問題解決


前言

在夜神模擬器上輸入中文,發現是亂碼,將unicodeKeyboard和resetKeyboard參數設置為True了,發現還是沒法解決。
打開手機設置語言和輸入法,發現找不到Appium Android Input Manager for Unicode輸入法導致的
相關環境:

  • appium1.8.1
  • python3.6
  • 手機使用夜神模擬器

遇到問題

加上unicodeKeyboard和resetKeyboard參數后,運行如下代碼

# coding=utf-8
from appium import webdriver
import time
desired_caps = {
                "platformName": "Android",
                "deviceName": "127.0.0.1:62001",
                "platformVersion": "4.4.2",
                "appPackage": "com.taobao.taobao",
                "noReset": True,
                "appActivity": "com.taobao.tao.welcome.Welcome",
                'unicodeKeyboard': True,  # 使用Unicode編碼方式發送字符串
                'resetKeyboard': True  # 隱藏鍵盤
                }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()

time.sleep(5)

driver.find_element_by_id("com.taobao.taobao:id/searchEdit").click()
driver.find_element_by_id("com.taobao.taobao:id/searchEdit").send_keys("上海-悠悠")

運行后發現中文輸入還是亂碼:

解決辦法

首先打開手機設置-語言與輸入框,看是不是默認Appium Android Input Manager for Unicode

要是找不到這個輸入法先從node_modules\appium\node_modules\appium-android-ime\bin路徑下找到UnicodeIME-debug.apk文件,復制到桌面上,然后adb安裝到手機上
(找不到安裝包的去QQ群:330467341,群文件下載)

adb install C:\Users\dell\Desktop\UnicodeIME-debug.apk

安裝好之后,去手機設置-語言與輸入框把Appium Android Input Manager for Unicode輸入法設置為默認就可以了

卸載

如果安裝的時候報錯,可能之前已經裝過,但是安裝的有問題,可以先卸載掉之前的UnicodeIME-debug.apk,這個包的包名是io.appium.android.ime

adb uninstall io.appium.android.ime

總結

輸入法設置好后,運行上面的代碼就可以正常的輸入中文了,主要保證以下2點

1.將unicodeKeyboard和resetKeyboard參數設置為True
2.手機設置設置-語言與輸入框,Appium Android Input Manager for Unicode設置默認

要是以上方法還是沒法解決,估計個別手機冥頑不靈,基本上可以砸核桃了,要是舍不得砸,可以參考這篇【appium+python自動化39-adb shell輸入中文(ADBKeyBoard)】

上海-悠悠 QQ交流群:330467341


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM