You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium IDE无法从自定义WebExtension录制自定义命令

问题:Selenium IDE自定义插件录制命令仅生成空注释

按照官方文档制作Selenium IDE自定义插件,已成功注册自定义命令并在IDE中显示,但录制时发送请求后,结果仅出现空注释命令,尝试录制click命令也存在相同问题。

注册插件及命令的代码:

const registerPayload = {
        uri: "/register",
        verb: "post",
        payload: {
          name: "InterceptPOC",
          version: "1.0",
          commands: [
            {
              id: "threeJsCommand",
              name: "ThreeJS Action"
            } 
            ]
        }
      };

chrome.runtime.sendMessage("mooikfkahbdckldjjndioackbalphokd", registerPayload);

录制时发送的POST请求代码:

const requestPayload = {
        uri: "/record/command",
        verb: "post",
        command: "threeJsCommand",
        target: "test"
      }

chrome.runtime.sendMessage("mooikfkahbdckldjjndioackbalphokd", requestPayload);

解决要点
  • 补全命令的参数定义:注册命令时仅提供id和name不足以让IDE正确解析参数,必须添加parameters字段声明命令接收的参数类型和名称。示例:
commands: [
  {
    id: "threeJsCommand",
    name: "ThreeJS Action",
    parameters: [
      {
        name: "target",
        type: "string" // 或"locator",根据实际需求选择
      }
    ]
  }
]
  • 修正录制请求的payload结构:发送/record/command请求时,命令及参数需要嵌套在payload字段内,而非直接作为顶层属性。正确格式:
const requestPayload = {
  uri: "/record/command",
  verb: "post",
  payload: {
    command: "threeJsCommand",
    target: "test"
  }
};
  • 确认插件通信权限配置:在插件的manifest.json中添加externally_connectable配置,确保允许与Selenium IDE的扩展ID通信:
"externally_connectable": {
  "ids": ["mooikfkahbdckldjjndioackbalphokd"]
}

内容的提问来源于stack exchange,提问作者vicovicovico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:05:07