browsingContext.create Befehl
Der browsingContext.create Befehl des browsingContext Moduls erstellt einen Top-Level-Kontext als neuen Tab oder in einem neuen Fenster und gibt dessen Kontext-ID zurück.
Syntax
/* With required parameters */
{
"method": "browsingContext.create",
"params": {
"type": "window"
}
}
/* With required and optional parameters */
{
"method": "browsingContext.create",
"params": {
"type": "tab",
"background": true,
"referenceContext": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
"userContext": "4e4b1f6d-3f1a-4b2e-9f8c-1a2b3c4d5e6f"
}
}
Parameter
Das Feld params enthält:
backgroundOptional-
Ein boolescher Wert, der angibt, ob der Kontext im Hintergrund oder im Vordergrund erstellt wird.
false: Der Kontext wird in den Vordergrund gebracht und erhält den Fokus, nachdem er erstellt wurde. Dies ist die Standardeinstellung.true: Der Kontext wird im Hintergrund erstellt. SiehebrowsingContext.activate, um ihn in den Vordergrund zu bringen und den Fokus darauf zu setzen.
referenceContextOptional-
Ein String, der die ID eines vorhandenen Top-Level-Kontexts enthält, der verwendet wird, um den neuen Kontext zu positionieren. Kontext-IDs werden durch Befehle wie
browsingContext.getTreezurückgegeben.Wenn
typeden Wert"tab"hat, wird der neue Kontext im selben Fenster wie der Kontext geöffnet, der durchreferenceContextspezifiziert ist. Wenntype"window"ist oderreferenceContextweggelassen wird, entscheidet der Browser, wo der neue Kontext erscheint.Der neue Kontext erbt den Benutzerkontext des angegebenen Referenzkontextes, es sei denn,
userContextwird explizit angegeben. type-
Ein String, der den Typ des erstellten Kontexts spezifiziert. Er akzeptiert einen der folgenden Werte:
"tab": Erstellt den Kontext als Tab in einem vorhandenen Fenster. WennreferenceContextangegeben wird, öffnet sich der neue Tab daneben."window": Erstellt den Kontext in einem neuen Browserfenster.
userContextOptional-
Ein String, der die ID des Benutzerkontexts enthält, in dem der Kontext erstellt wird. Benutzerkontext-IDs werden von
browser.getUserContextsoderbrowser.createUserContextzurückgegeben.Wenn nicht angegeben, verwendet der neue Kontext den
"default"Benutzerkontext oder erbt den Benutzerkontext vonreferenceContext, falls angegeben.
Rückgabewert
Das result Objekt in der Antwort enthält die folgenden Felder:
context-
Ein String, der die ID des neu erstellten Kontexts enthält.
Fehler
invalid argument-
Ein erforderlicher Parameter fehlt oder hat einen ungültigen Typ. Dieser Fehler wird auch zurückgegeben, wenn der durch
referenceContextangegebene Kontext kein Top-Level-Kontext ist. no such frame-
Kein Kontext mit der angegebenen
referenceContextID wird gefunden. no such user context-
Kein Benutzerkontext mit der angegebenen
userContextID wird gefunden. unsupported operation-
Der Browser kann keinen neuen Top-Level-Kontext erstellen.
Beschreibung
Der Befehl browsingContext.create erstellt immer einen Top-Level-Kontext.
Der type Parameter bestimmt, wie der neue Kontext im Browser erscheint: "window" erstellt ein neues Client-Fenster, während "tab" ihn als Tab in einem vorhandenen Client-Fenster öffnet.
Standardmäßig erhält der neue Kontext sofort den Fokus.
Um dieses Verhalten zu deaktivieren, setzen Sie background auf true.
Sie können später einen Hintergrundkontext in den Vordergrund bringen, indem Sie browsingContext.activate verwenden.
Wenn Sie möchten, dass der neue Tab neben einem bestimmten vorhandenen Tab geöffnet wird, übergeben Sie die Kontext-ID dieses Tabs als referenceContext. Ohne diese Angabe platziert der Browser den neuen Tab, wo er es für richtig hält.
Standardmäßig wird der neue Kontext dem "default" Benutzerkontext hinzugefügt und teilt den Speicher mit anderen Tabs in diesem Kontext. Um ihn zu isolieren, also ihm separate Cookies und Sitzungsdaten zu geben, geben Sie einen anderen Benutzerkontext mit userContext an.
Beispiele
>Erstellen eines Tabs
Mit einer WebDriver BiDi Verbindung und einer aktiven Sitzung, senden Sie die folgende Nachricht, um einen neuen Tab zu erstellen:
{
"id": 1,
"method": "browsingContext.create",
"params": {
"type": "tab"
}
}
Bei erfolgreicher Erstellung antwortet der Browser mit der Kontext-ID des neuen Tabs:
{
"id": 1,
"type": "success",
"result": {
"context": "5e5e96e8-5247-4f22-9b35-a4a2d841cbaa"
}
}
Da background nicht angegeben ist, öffnet sich der Tab standardmäßig im Vordergrund.
Erstellen eines Tabs neben einem bestehenden Kontext
Das folgende Beispiel zeigt, wie man einen Tab im Hintergrund neben einem bestehenden Tab innerhalb des angegebenen Benutzerkontexts erstellt.
Zuerst erhalten Sie die Kontext-ID des Referenztabs mit browsingContext.getTree und die Benutzerkontext-ID mit browser.getUserContexts oder browser.createUserContext. Senden Sie dann die folgende Nachricht:
{
"id": 2,
"method": "browsingContext.create",
"params": {
"type": "tab",
"referenceContext": "5e5e96e8-5247-4f22-9b35-a4a2d841cbaa",
"background": true,
"userContext": "3a8e2d1f-4b5c-6d7e-8f9a-0b1c2d3e4f5a"
}
}
Der Browser öffnet den neuen Tab im selben Fenster wie den Referenzkontext und reagiert wie folgt:
{
"id": 2,
"type": "success",
"result": {
"context": "b2e3f461-8a5c-4d12-9b87-c3d4e5f6a7b8"
}
}
Erstellen eines Fensters im Hintergrund
Senden Sie die folgende Nachricht, um ein neues Fenster zu erstellen, ohne es zu aktivieren:
{
"id": 3,
"method": "browsingContext.create",
"params": {
"type": "window",
"background": true
}
}
Der Browser antwortet mit der Kontext-ID des neuen Fensters wie folgt:
{
"id": 3,
"type": "success",
"result": {
"context": "d87a0c61-7b0e-4e8b-b4f0-0a7d5af2e0c3"
}
}
Spezifikationen
| Spezifikation |
|---|
| WebDriver BiDi> # command-browsingContext-create> |
Browser-Kompatibilität
Siehe auch
browsingContext.activateBefehlbrowsingContext.closeBefehlbrowsingContext.getTreeBefehlbrowsingContext.contextCreatedEreignisbrowsingContext.contextDestroyedEreignis