
press_keycode(66) or keyevent(66)
set_value("北京\n")
有没有比较通用的方法,谢谢~
楼主是测试的 android 应用? 不同的输入法软件,以及不同的应用 APP,对输入法的按键定义都会不同,不太好找一个通用的方法。
你想用 press_keycode(66) or keyevent(66),首先得要求你测试的这个 APP 的 “搜索” 按键,支持 keyevent
 _fake_tester_
          
      回复
_fake_tester_
          
      回复
    下面两个方法,不过都不能保证通用,换个输入法说不定就不行了
1:抓取控件 id 或 name,按 id 或 name 来 click
2:既然你 keyevent(66)(66 代表回车)不行,那你再试试看 keyevent(84)(84 代表搜索)
84 也不行
那能不能让他找含有 “搜索” 的地方点击
楼主解决了么??
我使用的是搜狗输入法 然后用了以下的方法解决了
excuteAdbShell("adb shell ime set com.sohu.inputmethod.sogou/.SogouIME");
//再次点击输入框,调取键盘
driver.findElementByXPath("//android.widget.EditText[@text='**********']").click();
//点击右下角的搜索,即ENTER键
driver.pressKeyCode(AndroidKeyCode.ENTER);
 /**
     * 执行adb命令
     * @param s 要执行的命令
         */
private void excuteAdbShell(String s) {
        Runtime runtime=Runtime.getRuntime();
        try{
            runtime.exec(s);
        }catch(Exception e){
            System.out.println("执行命令:"+s+"出错");
}
查看真机中的输入法的方法:
在 cmd 中 输入
adb shell ime list -s
driver.keyevent(66)
driver.press_keycode(66)
这两个 python 的方法提交搜索内容,亲测可用
使用 adb shell ime set+ 输入法,切换个能用搜索命令的输入法就 OK 了
楼主,问题解决了吗,怎么做的
