跳到主要内容

代理事件

说明

  • 代理事件模块的对象前缀是agentEvent,例如 agentEvent.clickPoint这样调用
  • 这里列出来的是代理模式特有的函数,其他调用可以直接使用全局函数

设置

setAgentCallParam 代理全局通信设置超时

  • 设置代理模式参数
  • @param data 参数表
  • 例子: {"remoteCallTimeout":10000}
  • remoteCallTimeout: 调用的超时时间,单位是毫秒,默认是10秒
  • @return {bool} true 成功 false 失败
function main() {
var result = agentEvent.setAgentCallParam({"remoteCallTimeout": 10000});
if (result) {
logd("是");
} else {
logd("否");
}
}

main();

手势及输入事件

touchDown 执行按下[未实现]

  • 执行按下输入事件
  • @param x x坐标
  • @param y y坐标
  • @return 布尔型 true 代表成功 false代表失败
function main() {
var result = agentEvent.touchDown(10, 10);
if (result) {
logd("成功");
} else {
logd("失败");
}
}

main();

touchMove 执行移动[未实现]

  • 执行移动输入事件
  • @param x x坐标
  • @param y y坐标
  • @return 布尔型 true 代表成功 false代表失败
function main() {
var result = agentEvent.touchMove(10, 10);
if (result) {
logd("成功");
} else {
logd("失败");
}
}

main();

touchUp 执行弹起输入[未实现]

  • 执行弹起输入事件
  • @param x x坐标
  • @param y y坐标
  • @return 布尔型 true 代表成功 false代表失败
function main() {
var result = agentEvent.touchUp(10, 10);
if (result) {
logd("成功");
} else {
logd("失败");
}
}

main();

节点

agentEvent.lockNodeFromXml 从 XML 锁定节点

  • 将外部 XML 注入 PC 侧节点缓存并锁定,与全局函数 lockNodeFromXml(xml) 等价
  • 典型用途:配合 auxEvent.agentDumpXml() 在 WiFi 场景下使用 节点函数 的选择器
  • 适配版本 EC iOS 中控 9.39.0+
  • @param xml XML 字符串
  • @return {bool} true 成功,false 失败
function main() {
auxEvent.ensureWifiSession("");
auxEvent.agentStartEnv();
auxEvent.agentSetFetchNodeParam({
labelFilter: "2",
maxDepth: "20",
visibleFilter: "2",
excludedAttributes:"visible,selected,enable,accessible"
});

let xml = auxEvent.agentDumpXml();
logd("xml length: {}", xml ? xml.length : 0);
if (!xml) {
logd("agentDumpXml 失败");
return;
}

agentEvent.releaseNode();
let ok = agentEvent.lockNodeFromXml(xml);
logd("lockNodeFromXml: {}", ok);
if (!ok) {
return;
}

let nd = label("设置").getOneNodeInfo(0);
logd("node: {}", nd ? JSON.stringify(nd) : "null");
}

main();

完整说明见 节点函数 - lockNodeFromXml;配套 Aux 接口见 agentDumpXml