Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 717|回复: 0

appium+python自动化61-中文输入乱码问题解决

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-4-24 16:13:41 | 显示全部楼层 |阅读模式

    前言

    在夜神模拟器上输入中文,发现是乱码,将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

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-22 16:56 , Processed in 0.068334 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表