press_keycode(66) or keyevent(66)
set_value("北京\n")
有没有比较通用的方法,谢谢~
楼主是测试的 android 应用? 不同的输入法软件,以及不同的应用 APP,对输入法的按键定义都会不同,不太好找一个通用的方法。
你想用 press_keycode(66) or keyevent(66),首先得要求你测试的这个 APP 的 “搜索” 按键,支持 keyevent
下面两个方法,不过都不能保证通用,换个输入法说不定就不行了
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 了
楼主,问题解决了吗,怎么做的