Microsoft Edge DevTools-Protokoll

Verwenden Sie das DevTools-Protokoll, um Browser einschließlich Microsoft Edge zu instrumentieren, zu untersuchen, zu debuggen und zu profilieren. Das Microsoft Edge DevTools-Protokoll entspricht den APIs des Chrome DevTools-Protokolls. Die Referenzdokumentation finden Sie unter Chrome DevTools Protocol Viewer.

Hinweis

Mit der Umstellung der zugrunde liegenden Webplattform von Microsoft Edge auf Chromium erhält das Microsoft Edge (EdgeHTML) DevTools-Protokoll keine weiteren Updates. In Zukunft entspricht das Microsoft Edge DevTools-Protokoll den APIs des Chrome DevTools-Protokolls.

Alle Methoden, denen im Microsoft Edge (EdgeHTML)-DevTools-Protokoll das Präfix vorangestellt ms wurde, werden im Microsoft Edge DevTools-Protokoll nicht mehr unterstützt.

Verwenden des DevTools-Protokolls

So fügen Sie einen benutzerdefinierten Toolclient an den DevTools Server in Microsoft Edge an:

  1. Schließen Sie alle Instanzen von Microsoft Edge.

  2. Starten Sie Microsoft Edge mit dem Remotedebugport.

    msedge.exe --remote-debugging-port=9222
    
  3. Optional können Sie eine separate instance von Microsoft Edge mithilfe eines eindeutigen Benutzerprofils starten.

    msedge.exe --user-data-dir=<some directory>
    
  4. Verwenden Sie als Nächstes den HTTP-Endpunkt list , um eine Liste der anzufügenden Seitenziele abzurufen.

    http://localhost:9222/json/list
    
  5. Stellen Sie schließlich eine Verbindung mit dem webSocketDebuggerUrl des gewünschten Ziels her, und geben Sie Über den DevTools-Websocketserver Befehle aus/abonnieren Sie Ereignismeldungen.

HTTP-Endpunkte des DevTools-Protokolls

Das Microsoft Edge DevTools-Protokoll unterstützt die folgenden HTTP-Endpunkte.

/json/version

Stellt Informationen zum Browser des Hostcomputers und zur unterstützten Version des DevTools-Protokolls bereit.

Parameter

Keine

Rückgabeobjekt

{
   "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

Stellt die gesamte Protokoll-API-Oberfläche bereit, die als JSON serialisiert wird.

Parameter

Keine

Rückgabeobjekt

JSON-Objekt, das die verfügbare API-Oberfläche für die aktuelle Version des Protokolls darstellt.

/json/list

Stellt eine Kandidatenliste von Seitenzielen für das Debuggen bereit.

Parameter

Keine

Rückgabeobjekt

[{
   "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

Schließt den Zielprozess. In Microsoft Edge schließt beispielsweise die Seitenregisterkarte.

Parameter

Ziel-ID

Rückgabeobjekt

String("Target is closing")

Remotetools für Microsoft Edge (Beta)

Sie können die Remotetools für Microsoft Edge (Beta) aus dem Microsoft Store installieren. Mit dieser App können Sie Microsoft Edge, das auf einem Windows 10 oder höher ausgeführt wird, remote von Ihrem Entwicklungscomputer aus debuggen.

Informationen zum Einrichten Ihres Windows-Geräts und zum Herstellen einer Verbindung über Ihren Entwicklungscomputer finden Sie unter Erste Schritte mit dem Remotedebuggen von Windows-Geräten.

Die Remotetools für Microsoft Edge (Beta) verwenden dasselbe Microsoft Edge DevTools-Protokoll wie DevTools, um mit Microsoft Edge zu kommunizieren, die auf dem Windows 10 oder höher ausgeführt wird, das Sie debuggen möchten. Diese App stellt /msedge/ vor jedem Aufruf des Protokolls lediglich eine Prozess-ID (pid) voran. Sie unterstützt die folgenden HTTP-Endpunkte.

Die folgenden Referenzabschnitte gelten für Remotetools für Microsoft Edge.

/msedge/json/deviceinfo

Enthält Informationen zum Windows-PC oder HoloLens 2 Gerät, das für das Remotedebuggen verbunden ist.

Parameter

Keine

Rückgabeobjekt

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

/msedge/json/list

Stellt eine Kandidatenliste aller Microsoft Edge- und WebView2 Runtime-Prozesse bereit, die auf dem verbundenen Gerät (einschließlich PWAs) ausgeführt werden, sowie aller Registerkarten oder Ziele in jedem Prozess, der für das Debuggen verfügbar ist.

Parameter

Keine

Rückgabeobjekt

[
  {
    "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/

Funktionell entspricht /msedge/json/list.

/msedge/[pid]/json/list

Stellt eine Kandidatenliste von Seitenzielen für die Microsoft Edge-instance bereit, die dem für das Debuggen bereitgestellten [pid] entspricht.

Parameter

Keine

Rückgabeobjekt

[
  {
    "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

Stellt Informationen zum Microsoft Edge-instance bereit, der dem bereitgestellten [pid] entspricht und welche Version des DevTools-Protokolls unterstützt wird.

Parameter

Keine

Rückgabeobjekt

{
  "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/

Stellt die gesamte Protokoll-API-Oberfläche bereit, die als JSON für die Microsoft Edge-instance serialisiert wird, die dem bereitgestellten [pid]entspricht.

Parameter

Keine

Rückgabeobjekt

JSON-Objekt, das die verfügbare API-Oberfläche für die Version des Protokolls darstellt, die vom Microsoft Edge-instance verwendet wird, das dem bereitgestellten [pid] entspricht.

Weitere Informationen