设置文本
使用无障碍服务
权限: 无障碍服务
说明: 通过无障碍服务查找无障碍节点并执行设置文本的操作,返回值为true或false,分别表示操作成功与失败
import com.m8test.script.GlobalVariables.*
// 获取可编辑元素,一般为输入框
val editableNode = _accessibility!!.createSelector().editable { it }.findOne(0, -1)
// 为可编辑元素设置文本, 在实际开发中还需要判断 editableNode 是否为空
editableNode?.setText("M8Test")
// 获取可编辑元素,一般为输入框
def editableNode = $accessibility.createSelector().editable { it }.findOne(0, -1)
// 为可编辑元素设置文本, 在实际开发中还需要判断 editableNode 是否为空
editableNode.setText("M8Test")
import com.m8test.accessibility.api.AccessibilityNode;
import kotlin.jvm.functions.Function1;
import static com.m8test.script.GlobalVariables.$accessibility;
// 获取可编辑元素,一般为输入框
AccessibilityNode editableNode = $accessibility.createSelector().editable(new Function1() {
@Override
public Object invoke(Object o) {
return o;
}
}).findOne(0, -1);
// 为可编辑元素设置文本, 在实际开发中还需要判断 editableNode 是否为空
editableNode.setText("M8Test");
// 获取可编辑元素,一般为输入框
let editableNode = $accessibility.createSelector().editable(function (isEditable) {
return isEditable;
}).findOne(0, -1)
// 为可编辑元素设置文本, 在实际开发中还需要判断 editableNode 是否为空
editableNode.setText("M8Test")
-- 获取可编辑元素,一般为输入框
local editableNode = _accessibility:createSelector():editable(function(editable)
return editable
end):findOne(0, -1)
-- 为可编辑元素设置文本, 在实际开发中还需要判断 editableNode 是否为空
editableNode:setText("M8Test")
<?php
/** @var m8test_java\com\m8test\accessibility\api\Accessibility $accessibility */
global $accessibility;
// 获取可编辑元素,一般为输入框
$editableNode = $accessibility->createSelector()->editable(function ($editable){return $editable;})->findOne(0, -1);
// 为可编辑元素设置文本, 在实际开发中还需要判断 editableNode 是否为空
$editableNode->setText("M8Test");
from m8test_java.com.m8test.script.GlobalVariables import _accessibility
# 获取可编辑元素,一般为输入框
editableNode = _accessibility.createSelector().editable(lambda editable: editable).findOne(0, -1)
# 为可编辑元素设置文本, 在实际开发中还需要判断 editableNode 是否为空
editableNode.setText("M8Test")
# encoding: utf-8
# 获取可编辑元素,一般为输入框
editableNode = $accessibility.createSelector.editable { |editable| editable }.findOne(0, -1)
# 为可编辑元素设置文本, 在实际开发中还需要判断 editableNode 是否为空
editableNode.setText("M8Test")
使用物理屏幕镜像屏幕
权限: Adb
组件: 无
说明: 通过adb shell广播实现中文输入,先切换到m8test输入法,输入框必须获得焦点后再发送广播,输入完成后恢复原输入法;如无法输入,请手动将系统输入法设为m8test。
import com.m8test.script.GlobalVariables._displays
// 创建或者获取物理屏幕的镜像屏幕
val display = _displays.getMain()
// 获取虚拟屏幕的控制器, 可以对虚拟屏幕实现自动化操作
val controller = display.getController()
// 在输入框内输入文本,前提是输入框已经获取焦点
controller.inputText("M8Test Kotlin中文输入测试")
// 创建或者获取物理屏幕的镜像屏幕
def display = $displays.getMain()
// 获取虚拟屏幕的控制器, 可以对虚拟屏幕实现自动化操作
def controller = display.getController()
// 在输入框内输入文本,前提是输入框已经获取焦点
controller.inputText("M8Test Groovy中文输入测试")
import com.m8test.script.core.api.display.Display;
import com.m8test.script.core.api.display.control.Controller;
import static com.m8test.script.GlobalVariables.$displays;
// 创建或者获取物理屏幕的镜像屏幕
Display display = $displays.getMain();
// 获取虚拟屏幕的控制器, 可以对虚拟屏幕实现自动化操作
Controller controller = display.getController();
// 在输入框内输入文本,前提是输入框已经获取焦点
controller.inputText("M8Test Java中文输入测试");
// 创建或者获取物理屏幕的镜像屏幕
let display = $displays.getMain()
// 获取虚拟屏幕的控制器, 可以对虚拟屏幕实现自动化操作
let controller = display.getController()
// 在输入框内输入文本,前提是输入框已经获取焦点
controller.inputText("M8Test Javascript中文输入测试")
-- 创建或者获取物理屏幕的镜像屏幕
local display = _displays:getMain()
-- 获取虚拟屏幕的控制器, 可以对虚拟屏幕实现自动化操作
local controller = display:getController()
-- 在输入框内输入文本,前提是输入框已经获取焦点
controller:inputText("M8Test Lua中文输入测试")
<?php
/** @var m8test_java\com\m8test\script\core\api\display\Displays $displays */
global $displays;
// 创建或者获取物理屏幕的镜像屏幕
$display = $displays->getMain();
// 获取虚拟屏幕的控制器, 可以对虚拟屏幕实现自动化操作
$controller = $display->getController();
// 在输入框内输入文本,前提是输入框已经获取焦点
$controller->inputText(javaString("M8Test Php中文输入测试"));
from m8test_java.com.m8test.script.GlobalVariables import _displays
# 创建或者获取物理屏幕的镜像屏幕
display = _displays.getMain()
# 获取虚拟屏幕的控制器, 可以对虚拟屏幕实现自动化操作
controller = display.getController()
# 在输入框内输入文本,前提是输入框已经获取焦点
controller.inputText("M8Test Python中文输入测试")
# encoding: utf-8
# 创建或者获取物理屏幕的镜像屏幕
display = $displays.getMain()
# 获取虚拟屏幕的控制器, 可以对虚拟屏幕实现自动化操作
controller = display.getController()
# 在输入框内输入文本,前提是输入框已经获取焦点
controller.inputText("M8Test Ruby中文输入测试")
Last modified: 08 August 2025