大家好,我是3分钟学堂的郭立员~
有些app的界面是没有发送或者搜索按钮的,它们要执行这些功能通常是借助于输入法虚拟界面中的按钮,比如微信的搜索界面。(没找到现成需要发送按钮的app,所以用微信举例)
如上图,当我们用inputtext命令输入内容之后,发现没有搜索按钮,无法进行下面的搜索操作,而且在安卓按键中也没有提交表单的命令,所以想到的方法就是调出输入法的虚拟界面,然后通过点击输入法上的按钮实现搜索功能。
接下来我们说一下步骤及代码:
第一步:安装第三方输入法,这里我在模拟器中安装了讯飞输入法,之后以它为例,先启动输入法。
第二步:测试一下输入法是否启动成功,方法是获取当前系统中的输入法。
- Import "shanhai.lua"
- Dim a=shanhai.GetIME()
- For Each k In a
- TracePrint k
- Next
复制代码以我这个模拟器为例,一共获取到两个,分别是讯飞输入法和按键输入法。
可以看到讯飞输入法可以通过命令获取到,那么说明启动成功了。
第三步:调用输入法,这一步原本想要用山海插件的SetIME命令,但是发现有时候切换输入法不成功。所以直接把这个插件命令提出来。
切换讯飞输入法:
- shanhai.execute("ime set com.iflytek.inputmethod/.FlyIME")
复制代码切换按键输入法:
- shanhai.execute("ime set com.cyjh.mobileanjianen/com.ime.input.InputKb")
复制代码它的结构是shanhai.execute("ime set 输入法包名组件),关于输入法的包名组件在第二步已经获取了,对于其他输入法,你可以复制出来直接用,需要注意,代码中的空格不能错。
当我运行切换讯飞输入法的代码以后,模拟器就会调出输入法了,如下图
最后再通过tap点击右下角搜索图标的坐标,就可以实现搜索功能了。
当然你用完以后,也可以切换回按键的输入法,这样就可以隐藏这个虚拟键盘了。
脚本编写过程:操作过程:(以讯飞输入法为例)
①激活输入框
②inputtext 输入内容
③给一点延迟,然后用命令切换成讯飞输入法(或者其他输入法)
④点击虚拟键盘的发送按钮
结束脚本
完整代码:坐标数值随意写的
- Import "shanhai.lua"
- Tap 76, 922 //输入框的位置
- Delay 1000
- InputText "好漂亮"
- Delay 1000
- shanhai.execute ("ime set com.iflytek.inputmethod/.FlyIME")
- Delay 3000
- Tap 500, 439 //按钮的位置
- Delay 1000
复制代码