Browsersitzungen verwalten
Eine Browsersitzung starten
Nachdem Sie einen Browser erstellt haben, können Sie eine Sitzung starten, um mit Webanwendungen zu interagieren.
Beispiel
- AWS CLI
-
-
Verwenden Sie den
start-browser-sessionfolgenden Befehl, um eine Browsersitzung mit der AWS CLI zu starten:aws bedrock-agentcore start-browser-session \ --region <Region> \ --browser-identifier "my-browser" \ --name "my-browser-session" \ --session-timeout-seconds 900 \ --view-port width=1456,height=819
-
- Boto3
-
-
Verwenden Sie die folgende Methode, um eine Browsersitzung mit dem AWS SDK for Python (Boto3) zu starten:
start_browser_sessionAnforderungssyntax
Im Folgenden wird die Anforderungssyntax gezeigt:
response = dp_client.start_browser_session( browserIdentifier="aws.browser.v1", name="browser-session-1", sessionTimeoutSeconds=3600, viewPort={ 'height': 819, 'width': 1456 } )
-
- BrowserClient
-
-
Um eine Browsersitzung mit der BrowserClient Klasse für mehr Kontrolle über den Sitzungslebenszyklus zu starten:
from bedrock_agentcore.tools.browser_client import BrowserClient # Create a browser client client = BrowserClient(region="us-west-2") # Start a browser session client.start() print(f"Session ID: {client.session_id}") try: # Generate WebSocket URL and headers url, headers = client.generate_ws_headers() # Perform browser operations with your preferred automation tool finally: # Always close the session when done client.stop()
-
- API
-
-
Verwenden Sie den folgenden Aufruf, um mithilfe der API eine neue Browsersitzung zu erstellen:
# Using awscurl awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/start" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "name": "browser-session-abc12345", "description": "browser sandbox session", "sessionTimeoutSeconds": 300, "viewPort": { "height": 819, "width": 1456 } }'
-
Browsersitzung abrufen
Sie können Informationen zu einer von Ihnen erstellten Browsersitzung abrufen.
Beispiel
- AWS CLI
-
-
Verwenden Sie den
get-browser-sessionfolgenden Befehl, um Informationen zu einer Browsersitzung mithilfe der AWS CLI abzurufen:aws bedrock-agentcore get-browser-session \ --region <Region> \ --browser-identifier "aws.browser.v1" \ --session-id "<your-session-id>"
-
- Boto3
-
-
Verwenden Sie die Methode, um Informationen über eine Browsersitzung mit dem AWS SDK for Python (Boto3)
get_browser_sessionabzurufen:Anforderungssyntax
Im Folgenden wird die Anforderungssyntax gezeigt:
response = dp_client.get_browser_session( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>" )
-
- API
-
-
Verwenden Sie den folgenden Aufruf, um Informationen über eine Browsersitzung mithilfe der API abzurufen:
# Using awscurl awscurl -X GET \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/get?sessionId=<your-session-id>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> { "browserIdentifier": "aws.browser.v1", "createdAt": "2025-07-14T22:16:40.713152248Z", "lastUpdatedAt": "2025-07-14T22:16:40.713152248Z", "name": "testBrowserSession1752531400", "sessionId": "<your-session-id>", "sessionReplayArtifact": null, "sessionTimeoutSeconds": 900, "status": "TERMINATED", "streams": { "automationStream": { "streamEndpoint": "wss://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/aws.browser.v1/sessions/<your-session-id>/automation", "streamStatus": "ENABLED" }, "liveViewStream": { "streamEndpoint": "https://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/aws.browser.v1/sessions/<your-session-id>/live-view" } }, "viewPort": { "height": 819, "width": 1456 } }
-
Interaktion mit einer Browsersitzung
Sobald Sie eine Browsersitzung gestartet haben, können Sie über die WebSocket API mit ihr interagieren. Sie können die InvokeBrowser API auch zur direkten Steuerung auf Betriebssystemebene verwenden, einschließlich Mausklicks, Tastatureingaben und Screenshots im Vollbildmodus. Weitere Informationen finden Sie unter Aktion mit dem Browserbetriebssystem.
Beispiel
- Console
-
-
====== Um mit einer Browsersitzung über die Konsole zu interagieren
-
Navigieren Sie zu Ihrer aktiven Browsersitzung.
-
Verwenden Sie die Browseroberfläche, um zu Websites zu navigieren, mit Webelementen zu interagieren und andere Browseraktionen auszuführen.
-
Über die Live-View-Funktion können Sie die Browseraktivitäten in Echtzeit verfolgen.
-
- SDK
-
-
Verwenden Sie die WebSocket-based Streaming-API mit dem folgenden URL-Format, um programmgesteuert mit einer Browsersitzung zu interagieren:
https://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/{browser_id}/sessions/{session_id}/automationSie können Bibliotheken wie Playwright verwenden, um eine Verbindung mit dem Browser herzustellen WebSocket und ihn zu steuern. Ein Beispiel:
from playwright.sync_api import sync_playwright, Playwright, BrowserType import os import base64 from bedrock_agentcore.tools.browser_client import browser_session def main(playwright: Playwright): # Keep browser session alive during usage with browser_session('us-west-2') as client: # Generate CDP endpoint and headers ws_url, headers = client.generate_ws_headers() # Connect to browser using headers chromium: BrowserType = playwright.chromium browser = chromium.connect_over_cdp(ws_url, headers=headers) # Use the first available context or create one context = browser.contexts[0] if browser.contexts else browser.new_context() page = context.pages[0] if context.pages else context.new_page() page.goto("https://amazon.com/") print("Navigated to Amazon") # Create CDP session for screenshot cdp_client = context.new_cdp_session(page) screenshot_data = cdp_client.send("Page.captureScreenshot", { "format": "jpeg", "quality": 80, "captureBeyondViewport": True }) # Decode and save screenshot image_data = base64.b64decode(screenshot_data['data']) with open("screenshot.jpeg", "wb") as f: f.write(image_data) print("✅ Screenshot saved as screenshot.jpeg") page.close() browser.close() with sync_playwright() as p: main(p)Der folgende Beispielcode zeigt, wie Sie mithilfe der WebSocket-based Streaming-API eine Live-Ansicht ausführen können.
https://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/{browser_id}/sessions/{session_id}/live-viewUnten ist der Code.
import time from rich.console import Console from bedrock_agentcore.tools.browser_client import browser_session from browser_viewer import BrowserViewerServer console = Console() def main(): try: # Step 1: Create browser session with browser_session('us-west-2') as client: print("\r ✅ Browser ready! ") ws_url, headers = client.generate_ws_headers() # Step 2: Start viewer server console.print("\n[cyan]Step 3: Starting viewer server...[/cyan]") viewer = BrowserViewerServer(client, port=8005) viewer_url = viewer.start(open_browser=True) # Keep running while True: time.sleep(1) except KeyboardInterrupt: console.print("\n\n[yellow]Shutting down...[/yellow]") if 'client' in locals(): client.stop() console.print("✅ Browser session terminated") except Exception as e: console.print(f"\n[red]Error: {e}[/red]") import traceback traceback.print_exc() if __name__ == "__main__": main()
-
Browsersitzungen auflisten
Sie können alle aktiven Browsersitzungen auflisten, um Ihre Ressourcen zu überwachen und zu verwalten. Dies ist nützlich, um aktive Sitzungen zu verfolgen, Sitzungen mit langer Laufzeit zu identifizieren oder Sitzungen zu finden, die beendet werden müssen.
Beispiel
- AWS CLI
-
-
Verwenden Sie den
list-browser-sessionsfolgenden Befehl, um Browsersitzungen mit der AWS CLI aufzulisten:aws bedrock-agentcore list-browser-sessions \ --region <Region> \ --browser-id "<your-browser-id>" \ --max-results 10Sie können Sitzungen auch nach Status filtern:
aws bedrock-agentcore list-browser-sessions \ --region <Region> \ --browser-id "<your-browser-id>" \ --status "READY"
-
- Boto3
-
-
Verwenden Sie die folgende Methode, um Browsersitzungen aufzulisten, die das AWS SDK for Python (Boto3) verwenden:
list_browser_sessionsAnforderungssyntax
Im Folgenden wird die Anforderungssyntax gezeigt:
response = dp_client.list_browser_sessions( browserIdentifier="aws.browser.v1" )Sie können Sitzungen auch nach Status filtern:
# List only active sessions filtered_response = dp_client.list_browser_sessions( browserIdentifier="aws.browser.v1", status="READY" ) # Print filtered session information for session in filtered_response['items']: print(f"Ready Session ID: {session['sessionId']}") print(f"Name: {session['name']}") print("---")
-
- API
-
-
Verwenden Sie den folgenden Aufruf, um Browsersitzungen aufzulisten, die die API verwenden:
# Using awscurl awscurl -X POST \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/<your-browser-id>/sessions/list" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "maxResults": 10 }'Sie können Sitzungen auch nach Status filtern:
# Using awscurl awscurl -X POST \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/list" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "maxResults": 10, "status": "READY" }'
-
Eine Browsersitzung beenden
Wenn Sie eine Browsersitzung nicht mehr verwenden, sollten Sie sie beenden, um Ressourcen freizugeben und unnötige Kosten zu vermeiden.
Beispiel
- AWS CLI
-
-
Verwenden Sie den
stop-browser-sessionfolgenden Befehl, um eine Browsersitzung mit der AWS CLI zu beenden:aws bedrock-agentcore stop-browser-session \ --region <Region> \ --browser-id "<your-browser-id>" \ --session-id "<your-session-id>"
-
- Boto3
-
-
Verwenden Sie die folgende Methode, um eine Browsersitzung mit dem AWS SDK for Python (Boto3) zu beenden:
stop_browser_sessionAnforderungssyntax
Im Folgenden wird die Anforderungssyntax gezeigt:
response = dp_client.stop_browser_session( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>", )
-
- API
-
-
Verwenden Sie den folgenden Aufruf, um eine Browsersitzung mithilfe der API zu beenden:
# Using awscurl awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/stop?sessionId=<your-session-id>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region>
-
Browser-Streams werden aktualisiert
Sie können Browser-Streams aktualisieren, um die Automatisierung zu aktivieren oder zu deaktivieren. Dies ist nützlich, wenn Sie vertrauliche Informationen wie Anmeldeinformationen eingeben müssen, die der Agent nicht sehen soll.
Beispiel
- Boto3
-
-
response = dp_client.update_browser_stream( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>", streamUpdate={ "automationStreamUpdate": { "streamStatus": "DISABLED" # or "ENABLED" } } )
-
- API
-
-
awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/streams/update?sessionId=<your-session-id>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "streamUpdate": { "automationStreamUpdate": { "streamStatus": "ENABLED" } } }'
-
- CLI
-
-
aws bedrock-agentcore update-browser-stream \ --region <Region> \ --browser-id "<your-browser-id>" \ --session-id "<your-session-id>" \ --stream-update automationStreamUpdate={streamStatus=ENABLED}
-