Freigeben über


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. Referenzdokumentation finden Sie unter Chrome DevTools Protocol Viewer.

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

Sie können die Remotetools für Microsoft Edge 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 von Ihrem Entwicklungscomputer aus finden Sie unter Remotedebuggen von Windows-Geräten.

Die Remotetools für Microsoft Edge-App verwendet dasselbe Microsoft Edge DevTools-Protokoll, das von Microsoft Edge DevTools verwendet wird, 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.

Die Remotetools für Microsoft Edge-App unterstützt die folgenden HTTP-Endpunkte: Die folgenden Referenzabschnitte beziehen sich auf 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/remote-debugging/windows",
        "webSocketDebuggerUrl": "wss://172.17.75.195:50443/msedge/23416/devtools/page/2AE2506D9FDB1C541FB36DD908ED51DE"
      },
      ...
    ]
  },
  ...
]

Siehe auch:

/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/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.

EdgeHTML DevTools-Protokoll

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.

Weitere Informationen