Microsoft Edge 开发工具协议

使用 DevTools 协议来检测、检查、调试和分析包括 Microsoft Edge 在内的浏览器。 Microsoft Edge DevTools 协议与 Chrome DevTools 协议的 API 匹配。 有关参考文档,请转到 Chrome DevTools 协议查看器

注意

随着 Microsoft Edge 基础 Web 平台向Chromium的转变,Microsoft Edge (EdgeHTML) DevTools 协议将不会收到任何进一步的更新。 今后,Microsoft Edge DevTools 协议将与 Chrome DevTools 协议的 API 匹配。

Microsoft Edge DevTools 协议不再支持 Microsoft Edge (EdgeHTML) DevTools 协议中前缀ms的任何方法。

使用 DevTools 协议

若要将自定义工具客户端附加到 Microsoft Edge 中的 DevTools 服务器,请执行以下操作:

  1. 关闭 Microsoft Edge 的所有实例。

  2. 使用远程调试端口启动 Microsoft Edge。

    msedge.exe --remote-debugging-port=9222
    
  3. (可选)可以使用不同的用户配置文件启动 Microsoft Edge 的单独实例。

    msedge.exe --user-data-dir=<some directory>
    
  4. 接下来,使用 HTTP list 终结点获取可附加页面目标的列表。

    http://localhost:9222/json/list
    
  5. 最后,连接到 webSocketDebuggerUrl 所需目标的 ,并通过 DevTools Web 套接字服务器发出命令/订阅事件消息。

DevTools 协议 HTTP 终结点

Microsoft Edge DevTools 协议支持以下 HTTP 终结点。

/json/version

提供有关主机的浏览器及其支持的 DevTools 协议版本的信息。

参数

无。

返回对象

{
   "Browser": "Edg/75.0.115.0",
   "Protocol-Version": "1.3",
   "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3739.0 Safari/537.36 Edg/75.0.115.0",
   "V8-Version": "7.5.98",
   "WebKit-Version": "537.36 (@68a98f73c7d0f766fb5a013ea7f8dbb41089bc1b)",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/browser/a9d0e8cf-476a-4a89-bba9-0fc27ce691cd"
}

/json/protocol

提供序列化为 JSON 的整个协议 API 图面。

参数

无。

返回对象

表示协议当前版本的可用 API 图面的 JSON 对象。

/json/list

提供用于调试的页面目标的候选列表。

参数

无。

返回对象

[{
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:9222/devtools/page/AB07C11A262D1EC8634EB12E2DCA4989",
   "id": "AB07C11A262D1EC8634EB12E2DCA4989",
   "title": "localhost:9222/json/protocol",
   "type": "page",
   "url": "http://localhost:9222/json/list",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/AB07C11A262D1EC8634EB12E2DCA4989"
}, ...  ]

/json/close

关闭目标进程。 例如,在 Microsoft Edge 中,关闭页面选项卡。

参数

目标 ID

返回对象

String("Target is closing")

Microsoft Edge 适用的远程工具 (Beta)

可以从 Microsoft Store 安装 Microsoft Edge 远程工具 (Beta 版) 。 使用此应用,可以从开发计算机远程调试在Windows 10或更高版本设备上运行的 Microsoft Edge。

若要了解如何设置 Windows 设备并从开发计算机连接到它,请参阅 远程调试 Windows 设备入门

Microsoft Edge 远程工具 (Beta 版) 使用与 DevTools 相同的 Microsoft Edge DevTools 协议来与要调试的 Windows 10 或更高版本设备上运行的 Microsoft Edge 进行通信。 此应用只是在每次调用协议之前 () 的前面附加 /msedge/ 和进程 ID pid 。 它支持以下 HTTP 终结点。

以下参考部分适用于 Microsoft Edge 的远程工具。

/msedge/json/deviceinfo

提供有关已连接进行远程调试的 Windows 电脑或HoloLens 2设备的信息。

参数

无。

返回对象

{
  "deviceName": "WINDOWS-10-DEV"
}

/msedge/json/list

提供在连接的设备上运行的所有 Microsoft Edge 和 WebView2 运行时进程的候选列表 (包括 PWA) 以及每个进程中可用于调试的所有选项卡或目标。

参数

无。

返回对象

[
  {
    "version": {
      "Browser": "Edg/110.0.1548.0",
      "Protocol-Version": "1.3",
      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1548.0",
      "V8-Version": "11.0.6",
      "WebKit-Version": "537.36 (@d6d5aea402510697e05382293a4c6d3da0183736)",
      "webSocketDebuggerUrl": "wss://172.17.75.195:50443/msedge/23416/devtools/browser/f02cc852-644a-48ce-932b-481aa43d8121"
    },
    "info": {
      "browserProcessId": 23416
    },
    "targets": [
      {
        "description": "",
        "devtoolsFrontendUrl": "https://devtools.azureedge.net/serve_file/@d6d5aea402510697e05382293a4c6d3da0183736/inspector.html?wss=172.17.75.195:50443/msedge/23416/devtools/page/2AE2506D9FDB1C541FB36DD908ED51DE",
        "faviconUrl": "https://learn.microsoft.com/favicon.ico",
        "id": "2AE2506D9FDB1C541FB36DD908ED51DE",
        "title": "Remotely debug Windows devices - Microsoft Edge Developer documentation | Microsoft Learn",
        "type": "page",
        "url": "https://learn.microsoft.com/microsoft-edge/devtools-guide-chromium/remote-debugging/windows",
        "webSocketDebuggerUrl": "wss://172.17.75.195:50443/msedge/23416/devtools/page/2AE2506D9FDB1C541FB36DD908ED51DE"
      },
      ...
    ]
  },
  ...
]

/msedge/

在功能上等效于 /msedge/json/list

/msedge/[pid]/json/list

为 Microsoft Edge 实例提供与为调试提供的 [pid] 匹配的页面目标候选列表。

参数

无。

返回对象

[
  {
    "description": "",
    "devtoolsFrontendUrl": "/msedge/23416/devtools/inspector.html?wss=localhost:50443/msedge/23416/devtools/page/2AE2506D9FDB1C541FB36DD908ED51DE",
    "faviconUrl": "https://learn.microsoft.com/favicon.ico",
    "id": "2AE2506D9FDB1C541FB36DD908ED51DE",
    "title": "Remotely debug Windows devices - Microsoft Edge Developer documentation | Microsoft Learn",
    "type": "page",
    "url": "https://learn.microsoft.com/microsoft-edge/devtools-guide-chromium/remote-debugging/windows",
    "webSocketDebuggerUrl": "wss://localhost:50443/msedge/23416/devtools/page/2AE2506D9FDB1C541FB36DD908ED51DE"
  },
  ...
]

/msedge/[pid]/json/version

提供有关与提供的 [pid] 匹配的 Microsoft Edge 实例的信息,以及它支持的 DevTools 协议版本。

参数

无。

返回对象

{
  "Browser": "Edg/110.0.1548.0",
  "Protocol-Version": "1.3",
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1548.0",
  "V8-Version": "11.0.6",
  "WebKit-Version": "537.36 (@d6d5aea402510697e05382293a4c6d3da0183736)",
  "webSocketDebuggerUrl": "wss://localhost:50443/msedge/23416/devtools/browser/f02cc852-644a-48ce-932b-481aa43d8121"
}

/msedge/[pid]/json/protocol/

为与提供的 [pid]匹配的 Microsoft Edge 实例提供序列化为 JSON 的整个协议 API 图面。

参数

无。

返回对象

JSON 对象,表示与提供的 [pid] 匹配的 Microsoft Edge 实例使用的协议版本的可用 API 图面。

另请参阅